Shell command writes file to wrong directory

D

Dustin

I'm calling a command line exe from within Excel 2007 using VBA. The problem
I'm having is the exe outputs a file, e.g. foobar.txt, but it always puts it
in the last directory I opened an Excel file from rather than the directory
where the exe is being called.

For example, say I open a spreadsheet in "c:\excel\worksheet.xls" and in VBA
I call an exe in "c:\test\foobar.exe". The file that foobar.exe generates
gets copied into "c:\excel" instead of "c:\test"

Anyone know what's going on and how to prevent it?

thanks,
Dustin
 
C

Chip Pearson

You might try using ChDrive and ChDir before Shell'ing to the exe. Either
that or use a BAT file that calls the EXE and in the BAT file use CD to
change the current directory.

ChDrive "C:\Test"
ChDir "C:\Test"
Shell "C:\Test\foobar.exe"



--
Cordially,
Chip Pearson
Microsoft MVP - Excel, 10 Years
Pearson Software Consulting
www.cpearson.com
(email on the web site)
 
D

Dustin

I think that did it, thanks!

Chip Pearson said:
You might try using ChDrive and ChDir before Shell'ing to the exe. Either
that or use a BAT file that calls the EXE and in the BAT file use CD to
change the current directory.

ChDrive "C:\Test"
ChDir "C:\Test"
Shell "C:\Test\foobar.exe"



--
Cordially,
Chip Pearson
Microsoft MVP - Excel, 10 Years
Pearson Software Consulting
www.cpearson.com
(email on the web site)
 

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