Launch external program - Compile error: Expected: list separator

P

PJ

I need to launch an external program using a macro and open a project in the
process. The executable file resides on a shared drive as does the project I
need to open. I've looked at the shell command but can't figure out how to
pass the variables. I keep receiving the following message:

Compile error:
Expected: List separator or )

There is a different version of the software installed on the local hard
drive and it will try to open the project from there, but that won't work.
So I need to specify the "start in" folder for it to work properly.

Program resides here:
g:\apps\my prog\myprog.exe

Project resides here:
g:\files\ my project\myprojname.xxx

So I have this but it doesn't work. How can I modify it so it will launch
using the executable from the shared drive?
RetVal = Shell("g:\apps\my prog\myprog.exe" "g:\files\ my
project\myprojname.xxx", 1)
 
B

Barb Reinhardt

This does it for me, but it's not VBA.

Dim objProj
Dim objVisio
Dim objShell
Dim objFSO
Dim fPath
Dim fName
Dim intSleep
Dim objWMIService
Dim colProcess
Dim objProcess
Dim strName
Dim strComputer
Dim myObj

intSleep = 15000

strComputer = "."
Set objShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")

fPath = "C:\Program Files\MINITAB 14"
fName = "Mtb14.exe"


If objFSO.FileExists(fPath & "\" & fName) then


objshell.currentdirectory = fpath
objShell.run fName
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = " & "'" & fname & "'")

For Each objProcess in colProcess
objProcess.Terminate()
Next
End if
 
P

PJ

Hi Barb,

I tried using the code but can't get it to work. It does not like the
objProcess.Terminate() line, so I remarked that out. But it still doesn't do
anything. In the debugger, the IF statement must translate to false as it
skips over everything and goes to the end. If I try removing the IF
statement, it gives me an error on the next line (objShell.currentdirectory).

Thanks for the suggestion though.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top