Problems running a dos program from vba script

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.
 
S

Steve Yandl

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
 
R

Reh

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
 
R

Reh

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.
 
R

Reh

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.
 

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