Thread: picture resize
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Norman Jones[_2_] Norman Jones[_2_] is offline
external usenet poster
 
Posts: 421
Default picture resize

Hi John,

Right-click each of the pictures and
assign it to thwe macro: Zoom_Pic.

In a standard module, at the head of
the module, before any other procedures
paste the following code:

'===========
Option Explicit

Private myPic As Picture
Private dHeight As Double
Private dWidth As Double
Private RunWhen As Double
Private blStop As Boolean
Private Const cRunIntervalSecondi = 10 '\\ 10 sSeconds
Private Const cRunWhat = "RestorePicture"

'--------------
Public Sub Zoom_Pic()
Const ZoomFactor As Double = 2

If blStop Then
Exit Sub
End If

Set myPic = ActiveSheet.Pictures(Application.Caller)

With myPic
dWidth = .Width
dHeight = .Height
.Width = ZoomFactor * dWidth
.Height = ZoomFactor * dHeight
blStop = True
End With

RunWhen = Now + TimeSerial(0, 0, cRunIntervalSecondi)
Application.OnTime EarliestTime:=RunWhen, _
Procedu=cRunWhat, _
Schedule:=True
End Sub

'--------------
Public Sub RestorePicture()

With myPic
.Width = dWidth
.Height = dHeight
End With

blStop = False

End Sub
'<<==========

As written, the code zooms the clicked picture
end restores the picture to its original dimensions
after 10 seconds.

The zoom factor may be changed by
modifying the value of the ZoomFactor
constant; the current value of 2 doubles t
he size of the original picture.

The time interval (in seconds) is controlled
by the Public constant cRunIntervalSecondi.



---
Regards.
Norman

"John" wrote in message
...
I would like to have a macro that when run on a selected picture it
enlarges
its size and then when unselected resizes smaller...

There will be several pictures in the worksheet that I would like to run
the
same code on...

Any help is appreciated