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: 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




  #5   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





  #6   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

  #7   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





  #8   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

  #9   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



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 07:20 AM.

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"