ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   how do i run an external file (https://www.excelbanter.com/excel-programming/416898-how-do-i-run-external-file.html)

KJ MAN[_2_]

how do i run an external file
 
I need to run a file that has a non-common extension from an
excel Command Button.
Mypath/myfile.BIN
Shell does not work for this. Can anyone help.
The file will load when double-clicked from windows. It automatically
loads the program required to open the file and runs it.
Is there a command or another syntax that can be used to
open this type of file through a command Button.

Dave Peterson

how do i run an external file
 
Here's a post I saved from Chip Pearson:

Here's something I dug up from one of my library files. It uses
FindExecutable to get the exe file that is associated with the extension of
the specified filename. (e.g., it gets Excel.exe for 'xls' extensions,
WinWord.exe for 'doc' extensions, etc). If different programs are specified
for different shell verbs (like OPEN and PRINT), it uses the exe specified
for the OPEN verb.

Public Declare Function FindExecutable Lib "shell32.dll" _
Alias "FindExecutableA" ( _
ByVal lpFile As String, _
ByVal lpDirectory As String, _
ByVal lpResult As String) As Long

Const MAX_PATH = 260&

Function ShellProgramFromFile(FName As String) As Boolean
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
' StartProgramFromFile
' This function finds the exe filename associated with the
' extension of FName and Shell's to that program, passing
' it FName.
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
Dim ExeName As String
Dim Res As Long
Dim Pos As Long
If Trim(FName) = vbNullString Then
ShellProgramFromFile = False
Exit Function
End If

If Dir(FName, vbNormal + vbHidden + vbSystem) = vbNullString Then
ShellProgramFromFile = False
Exit Function
End If

ExeName = String$(MAX_PATH, vbNullChar)
Res = FindExecutable(FName, vbNullString, ExeName)
If Res < 32 Then
ShellProgramFromFile = False
Exit Function
End If
Pos = InStr(1, ExeName, vbNullChar)
If Pos Then
ExeName = Left(ExeName, Pos - 1)
End If

Shell Chr(34) & ExeName & Chr(34) & Chr(32) & Chr(34) & FName & Chr(34)
ShellProgramFromFile = True
End Function

Sub Test()
Dim FName As String
Dim Res As Boolean
FName = "C:\FW9.pdf" '<<<< CHANGE
Res = ShellProgramFromFile(FName:=FName)

End Sub

KJ MAN wrote:

I need to run a file that has a non-common extension from an
excel Command Button.
Mypath/myfile.BIN
Shell does not work for this. Can anyone help.
The file will load when double-clicked from windows. It automatically
loads the program required to open the file and runs it.
Is there a command or another syntax that can be used to
open this type of file through a command Button.


--

Dave Peterson


All times are GMT +1. The time now is 01:55 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com