View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Rick Rothstein Rick Rothstein is offline
external usenet poster
 
Posts: 5,934
Default Running a Batch file from VBA

In older version of Windows (I thought this was changed in newer versions,
but I haven't used Shell in ages, so I don't know for sure), you used to
have to encase any path/filenames where either the path or filename
contained internal spaces. You could try this and see if it works...

RetVal = Shell("""" & BatFilePath & """", vbNormalFocus)

Another possibility is that the briefly flashing command window is
displaying an error message of some kind. I believe this line of code will
leave the command window up so you can read its contents...

RetVal = Shell(Environ$("comspec") & " /k " & """" & _
BatFilePath & """", vbNormalFocus)

--
Rick (MVP - Excel)


"D.riggins" wrote in message
...
I am trying to run a batch file from Excell 2003 using the Shell function
in
VBA and I cant seem to get it to work. The code is like this:

RetVal = Shell(BatFilePath, vbNormalFocus)

Where BatFilePath is a string variable with the full path of the batch
file
(e.g., D:\...\Batchfile.bat)

The line executes €“ I get a value in the RetVal variable and I see a brief
flash of the command prompt window, but I do not see the file that the
batch
file is supposed to produce. A search of my hard drives indicates that
the
results have not been created in some unexpected location.

The batch file works properly when run manually.