View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Robin Hammond[_2_] Robin Hammond[_2_] is offline
external usenet poster
 
Posts: 575
Default Double Click to open external program

Darren,

I have not idea about passing parameters to irfanview, but what you can do
is run the file at a given path in its default program using the
ShellExecute API call.

ie.

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Sub Test()
mypicture = "C:\Images\Image1.jpg"
lReturn = ShellExecute(0, "", mypicture, "", "", 0)
End Sub

HTH,

Robin Hammond
www.enhanceddatasystems.com

"Darren Hill" wrote in message
news:opsnehmwbked89cl@omega...

I have an image on my worksheet. This image changes based on the
activecell.
I'd like to be able to double click that image control, and have my
imagebrowser program (IrfanView) open with the image ready to be edited.

At the moment, I've tried the following:

Private Sub ImageBox_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim myPicture As String, ImageID

myPicture = Range("C" & ActiveCell.Row).Value
' column C includes the file paths of the images
MsgBox (myPicture)
ImageID = Shell("C:\Program Files\IrfanView\i_view32.exe" & myPicture,
1)
'ImageID = Shell(myPicture, 1)

End Sub

I've tested the filepaths are accurate using hyperlinks.

Thanks in advance for any ideas.

Darren