Shell command ignores parameters

P

Pete

Hello to all Excel fundiesRecently (8th February) I asked the question shown
below. However, I received no responses. (It is possible that I missed the
response(s))Is it possibly because the question was rather vague or is the
jury still 'out to lunch' on this one?"Hi all

I wrote an Excel VBA program to run (Shells to) a DOS program (not mine)
which deals bridge hands called "Big Deal"
It takes certain parameters such as the number of hands required, the name
of the output file and the type (e.g. CSV)

This all worked perfectly under Excel 2000 (Windows 98)
I have now converted/upgraded to Windows XP Home and Excel 2003 and have now
found that the parameters (NoOfHands and Hands, etc) are ignored and have
to be (re)typed at run time

Why is this? Has there been a change in the Shell command under Windows XP
or is the problem with Excel 2003?

The lines I use (which worked under the old setup) are list below:

Dim NoOfHands As Integer
(Note: the input control routine for NoOfHands has, for brevity, been
omitted)
Program = "C:\Simultaneous Tournament\Unlimited\Bigdeal\bigdeal -n " &
NoOfHands & " -p Hands -f csv"
TaskID = Shell(Program, vbNormalFocus)

Peter Bircher
South Africa"
 
D

Dave Peterson

With no testing at all:

maybe wrap your program name in double quotes:

TaskID = Shell(chr(34) & Program & chr(34), vbNormalFocus)

If I were testing this, I'd either shell to DOS and try to get it working
there--then match that syntax or do the same thing via Windows start button|Run
dialog.
 
P

Peter

Thanks Dave
Will try that.
Peter Bircher

Dave Peterson said:
With no testing at all:

maybe wrap your program name in double quotes:

TaskID = Shell(chr(34) & Program & chr(34), vbNormalFocus)

If I were testing this, I'd either shell to DOS and try to get it working
there--then match that syntax or do the same thing via Windows start button|Run
dialog.
 

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