Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 46
Default Open a non xls file (emulate the double-click from Windows Explore

Hello,
From within my Excel VBA I want to run another file (which will in-turn
start the associated application) when certain conditions exist.
The Shell statement works on the EXE. I need something similar in concept
to work on the actual data file (".anx" and others).
It would be the equivalent of double-clicking on a data file in Windows
Explorer.
Many Thanks for your help.
--
Programmer on Budget
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Open a non xls file (emulate the double-click from Windows Explore


Hello Budget

You need to use the ShellExecute API call. Copy this code and paste i
into a VBA code module in your project. This will launch any registere
file type's associated application

Code
-------------------

Public Const ShowNormal As Long =
Public Const ShowMinimized As Long =

Public 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 Lon

Public Sub OpenProgram(File_To_Open As String, Show_How As Long
Dim RetVa

RetVal = ShellExecute(0&, "open", File_To_Open, vbNullString, vbNullString, Show_How

End Su

-------------------

Example
OpenProgram "C:\MyFile.avi", ShowMinimize

Sincerely
Leith Ros

--
Leith Ros
-----------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...fo&userid=1846
View this thread: http://www.excelforum.com/showthread.php?threadid=56391

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default Open a non xls file (emulate the double-click from Windows Explore

Or use

ActiveWorkbook.FollowHyperlink "C:\Test.pdf"



--
Regards Ron de Bruin
http://www.rondebruin.nl



"Leith Ross" wrote in message
...

Hello Budget,

You need to use the ShellExecute API call. Copy this code and paste it
into a VBA code module in your project. This will launch any registered
file type's associated application.


Code:
--------------------

Public Const ShowNormal As Long = 1
Public Const ShowMinimized As Long = 2

Public 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

Public Sub OpenProgram(File_To_Open As String, Show_How As Long)
Dim RetVal

RetVal = ShellExecute(0&, "open", File_To_Open, vbNullString, vbNullString, Show_How)

End Sub

--------------------


Example:
OpenProgram "C:\MyFile.avi", ShowMinimized

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=563916



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default Open a non xls file (emulate the double-click from Windows Explore


RetVal = ShellExecute(0&, "open", File_To_Open, vbNullString,
vbNullString, Show_How)


The "open" program isn't available on all operating systems, XP
for example. I think it is a Win 9x command.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com




"Leith Ross"
wrote
in message
...

Hello Budget,

You need to use the ShellExecute API call. Copy this code and
paste it
into a VBA code module in your project. This will launch any
registered
file type's associated application.


Code:
--------------------

Public Const ShowNormal As Long = 1
Public Const ShowMinimized As Long = 2

Public 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

Public Sub OpenProgram(File_To_Open As String, Show_How As
Long)
Dim RetVal

RetVal = ShellExecute(0&, "open", File_To_Open, vbNullString,
vbNullString, Show_How)

End Sub

--------------------


Example:
OpenProgram "C:\MyFile.avi", ShowMinimized

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile:
http://www.excelforum.com/member.php...o&userid=18465
View this thread:
http://www.excelforum.com/showthread...hreadid=563916



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Open a non xls file (emulate the double-click from Windows Explore


I am running Windows XP Home Edition and the macro works fine.

Sincerely,
Leith Ros

--
Leith Ros
-----------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...fo&userid=1846
View this thread: http://www.excelforum.com/showthread.php?threadid=56391



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Open a non xls file (emulate the double-click from Windows Explore

The "open" program isn't available on all operating systems,

I didn't know that but I use vbNullString in lieu of "open".

Regards,
Peter T

"Chip Pearson" wrote in message
...

RetVal = ShellExecute(0&, "open", File_To_Open, vbNullString,
vbNullString, Show_How)


The "open" program isn't available on all operating systems, XP
for example. I think it is a Win 9x command.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com




"Leith Ross"
wrote
in message
...

Hello Budget,

You need to use the ShellExecute API call. Copy this code and
paste it
into a VBA code module in your project. This will launch any
registered
file type's associated application.


Code:
--------------------

Public Const ShowNormal As Long = 1
Public Const ShowMinimized As Long = 2

Public 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

Public Sub OpenProgram(File_To_Open As String, Show_How As
Long)
Dim RetVal

RetVal = ShellExecute(0&, "open", File_To_Open, vbNullString,
vbNullString, Show_How)

End Sub

--------------------


Example:
OpenProgram "C:\MyFile.avi", ShowMinimized

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile:
http://www.excelforum.com/member.php...o&userid=18465
View this thread:
http://www.excelforum.com/showthread...hreadid=563916





  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Open a non xls file (emulate the double-click from Windows Explore


Using vbNullString for the lpOperation parameter will invoke the default
verb for the file. The default in most instances is open.

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=563916

  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Open a non xls file (emulate the double-click from Windows Explore

Double clicking a file in explorer invokes the default action, so I suppose
strictly speaking what the OP asked for.

My default for text files is to open in my preferred text editor, though I
still have an "open" setting to open in Notepad (gives me both options if I
right click a file).

IOW if I send "open" and a textfile to the API it opens in Notepad, but
vbNullString opens in my preferred editor.

Subject to "open" always available (you & Chip seem to be in slight
disagreement, I don't know), on balance wouldn't the default be the safer
choice.

Regards,
Peter T

"Leith Ross" wrote
in message ...

Using vbNullString for the lpOperation parameter will invoke the default
verb for the file. The default in most instances is open.

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile:

http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=563916



  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Open a non xls file (emulate the double-click from Windows Explore


Peter

The reason "open" launches NotePad is this is the registered "open
verb in the registry. When you use the default, the system again look
to the registry, but in a different place if no verb is given, t
select the user's preferred program, if one exists for file typ
specified. In the end, it really is just a matter of personal choice

Sincerely
Leith Ros

--
Leith Ros
-----------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...fo&userid=1846
View this thread: http://www.excelforum.com/showthread.php?threadid=56391

  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Open a non xls file (emulate the double-click from Windows Explore

Fair point :-)

Regards,
Peter T

"Leith Ross" wrote
in message ...

Peter,

The reason "open" launches NotePad is this is the registered "open'
verb in the registry. When you use the default, the system again looks
to the registry, but in a different place if no verb is given, to
select the user's preferred program, if one exists for file type
specified. In the end, it really is just a matter of personal choice.

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile:

http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=563916





  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 46
Default Open a non xls file (emulate the double-click from Windows Exp

Hello,
The ActiveWorkbook.FollowHyperlink worked perfectly. Thanks.
--
Programmer on Budget


"Ron de Bruin" wrote:

Or use

ActiveWorkbook.FollowHyperlink "C:\Test.pdf"



--
Regards Ron de Bruin
http://www.rondebruin.nl



"Leith Ross" wrote in message
...

Hello Budget,

You need to use the ShellExecute API call. Copy this code and paste it
into a VBA code module in your project. This will launch any registered
file type's associated application.


Code:
--------------------

Public Const ShowNormal As Long = 1
Public Const ShowMinimized As Long = 2

Public 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

Public Sub OpenProgram(File_To_Open As String, Show_How As Long)
Dim RetVal

RetVal = ShellExecute(0&, "open", File_To_Open, vbNullString, vbNullString, Show_How)

End Sub

--------------------


Example:
OpenProgram "C:\MyFile.avi", ShowMinimized

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=563916




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Double-click and open .csv file Charles Ingals Setting up and Configuration of Excel 2 April 18th 07 02:12 PM
When opening an excel file in Windows Explore, it opens to a grey. pwink44 Excel Worksheet Functions 2 March 30th 07 07:36 PM
Why can't I double click on a file to open it? bbrivers Excel Discussion (Misc queries) 3 December 2nd 06 05:24 PM
can't open file by double click Mike Morn Excel Discussion (Misc queries) 1 November 16th 05 04:58 PM
Cannot double-click to open file Chris M.[_3_] Excel Programming 6 October 15th 03 12:01 AM


All times are GMT +1. The time now is 11:13 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"