Problems running a dos program from vba script

  • Thread starter Thread starter Reh
  • Start date Start date
R

Reh

Hello all, I'm new to the group so I hope this isn't too redundant of a

question.
I'm encountering a problem when attempting to call an external program
from an Excel macro. The macro runs through a variety of formatting
routines and then saves the file in .prn format to pass to the dos
program (this program generates a fish population estimate and is
unfortunately, to complex to simply write within the code.) I'm at the
point where I need to call up the program. I used the shell procedure
to access the dos program .exe file. It does access the program (I can
see the start screen flash) but then closes out. I tried writing a
batch file and accessing that from the macro..same result. The only
time I could get it to work, is when the batch file was misdirected
(another story) and had to search for the execution file. It found the
file (or rather a copy of it in another directory) and things worked
fine from there. Any thoughts?
thanks in advance..
-Chris.

note: I posted this in the excel vba group as well, but that group
seems to have low activity,
my appoligies for any inconvience caused by the crossposting.
 
Chris

As Dave suggests, it would help to see your code.

I suspect that you may only need to insert the "/k" switch after the
"cmd.exe", "command.com" or "%comspec%" and before the name of your
executable dos file in the line where you use Shell to launch the dos
program.

Steve
 
Thanks guys,
The code is at work, and I'm afraid I can't remember it off the top of
my head.
I'll post it first thing in the morning.
-Chris
 
Okay,
So my memory is really bad, but what I've done is just used the shell
command.

first I simply tried to access the execution file:
Shell("C:\Microfish\mfish-db.exe", 1)

when that wasn't working I tried using a batch file:
Shell("C:\Microfish\gofish.bat", 1)

my last attempt was this:
Call Shell("C:\Microfish\gofish.bat", vbNormalFocus)

I'm sure this is basic. I'm learning as I go.
Thanks much,
-Chris.
 
That did the trick Dave. Thanks much.



Dave said:
Might be this is what you're looking for.

http://www.vb-helper.com/howto_shell_wait.html

--

Regards,

Dave Patrick ....Please no email replies - reply in newsgroup.
Microsoft Certified Professional
Microsoft MVP [Windows]
http://www.microsoft.com/protect

Reh said:
Okay,
So my memory is really bad, but what I've done is just used the shell
command.

first I simply tried to access the execution file:
Shell("C:\Microfish\mfish-db.exe", 1)

when that wasn't working I tried using a batch file:
Shell("C:\Microfish\gofish.bat", 1)

my last attempt was this:
Call Shell("C:\Microfish\gofish.bat", vbNormalFocus)

I'm sure this is basic. I'm learning as I go.
Thanks much,
-Chris.
 
Back
Top