I have a target file path that is structured like example below.
C:\Program Files\Test\foobar.exe /G
What I need to do is be able to execute this file using VBA's shell()
command.
How do I have to format the file path to tell Shell()
that there is an argument that it needs to call along with running the .exe
What I've read/tried (with no avail) is below with the results to the right.
file = """C:\Program Files\Test\foobar.exe"" /G" <---Bad file name or number (Error 52) shell(file) file2 = "C:\Program Files\Test\foobar.exe /G" <---file never found shell(file2)
I've succeeded with running other .exe's using shell() so I know it's not a problem with VBA or the function.
Example:
works = "C:\Program Files\Test\test.exe" shell(works)
I'm not particularly familiar with the process involved with executing files that require additional parameters so if I misspeak or you need more information, please let me know.
This works for me (Excel 2013):
Public Sub StartExeWithArgument() Dim strProgramName As String Dim strArgument As String strProgramName = "C:\Program Files\Test\foobar.exe" strArgument = "/G" Call Shell("""" & strProgramName & """ """ & strArgument & """", vbNormalFocus) End Sub
With inspiration from here https://stackoverflow.com/a/3448682.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With