Shell Out Failing

M

mburkett

I initially wrote the macro below with manual wait times to slow it
down so the shell outs would work. I ran across some code on Microsoft
knowledge base that checks for a files existence before continuing
because the wait times worked on some machines and not others because
of network speeds. The macro works fine on the first shell out but
never runs the second one. I know the code works because if I step
throught it manually everything happens as planned. I pasted the a
section of the code below. Here are the 2 lines in question:
It runs this line: progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" &
ccm & " -u -s -vP -t" & filesavename)
Fails to run this line: progID = Shell("f:\axys3\rep32.exe -mperf -
p" & ccm & " -u -s -vx -t" & filesavename)

Section of code in question (MY NOTES ARE IN ALL CAPS):
progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" & ccm & " -u -s -vP -
t" & filesavename)
FindIt = Dir("f:\axys3\rmf\" + filesavename + ".rmf")
While Len(FindIt) = 0
FindIt = Dir("f:\axys3\rmf\" + filesavename + ".rmf")
Wend


progID = Shell("command.com /Ccopy f:\axys3\rmf\" + filesavename +
".rmf f:\perf\reports\" + perffolder)

FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
If Not Len(FindIt2) = 0 Then
Kill "f:\axys3\txt\" + filesavename + ".TXT"
End If

progID = Shell("f:\axys3\rep32.exe -mperf -p" & ccm & " -u -s -vx -
t" & filesavename)
'THE LINE ABOVE NEVER RUNS SO THE FIND FILE CODE BOMBS OUT BELOW

FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
While Len(FindIt2) = 0
FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
Wend

'IT HANGS ON THE CODE ABOVE BECAUSE THE SHELL OUT NEVER RUNS
 
J

Jim Cone

Are you killing the Flag.txt file between calls to the Shell statement?
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)

"mburkett"
wrote in message
I initially wrote the macro below with manual wait times to slow it
down so the shell outs would work. I ran across some code on Microsoft
knowledge base that checks for a files existence before continuing
because the wait times worked on some machines and not others because
of network speeds. The macro works fine on the first shell out but
never runs the second one. I know the code works because if I step
throught it manually everything happens as planned. I pasted the a
section of the code below. Here are the 2 lines in question:
It runs this line: progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" &
ccm & " -u -s -vP -t" & filesavename)
Fails to run this line: progID = Shell("f:\axys3\rep32.exe -mperf -
p" & ccm & " -u -s -vx -t" & filesavename)

Section of code in question (MY NOTES ARE IN ALL CAPS):
progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" & ccm & " -u -s -vP -
t" & filesavename)
FindIt = Dir("f:\axys3\rmf\" + filesavename + ".rmf")
While Len(FindIt) = 0
FindIt = Dir("f:\axys3\rmf\" + filesavename + ".rmf")
Wend


progID = Shell("command.com /Ccopy f:\axys3\rmf\" + filesavename +
".rmf f:\perf\reports\" + perffolder)

FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
If Not Len(FindIt2) = 0 Then
Kill "f:\axys3\txt\" + filesavename + ".TXT"
End If

progID = Shell("f:\axys3\rep32.exe -mperf -p" & ccm & " -u -s -vx -
t" & filesavename)
'THE LINE ABOVE NEVER RUNS SO THE FIND FILE CODE BOMBS OUT BELOW

FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
While Len(FindIt2) = 0
FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
Wend

'IT HANGS ON THE CODE ABOVE BECAUSE THE SHELL OUT NEVER RUNS
 
M

mburkett

Are you killing the Flag.txt file between calls to the Shell statement?
--
Jim Cone
San Francisco, USAhttp://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)

"mburkett"
wrote in message
I initially wrote the macro below with manual wait times to slow it
down so the shell outs would work. I ran across some code on Microsoft
knowledge base that checks for a files existence before continuing
because the wait times worked on some machines and not others because
of network speeds. The macro works fine on the first shell out but
never runs the second one. I know the code works because if I step
throught it manually everything happens as planned. I pasted the a
section of the code below. Here are the 2 lines in question:
It runs this line: progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" &
ccm & " -u -s -vP -t" & filesavename)
Fails to run this line: progID = Shell("f:\axys3\rep32.exe  -mperf  -
p" & ccm & " -u -s -vx -t" & filesavename)

Section of code in question (MY NOTES ARE IN ALL CAPS):
progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" & ccm & " -u -s -vP -
t" & filesavename)
FindIt = Dir("f:\axys3\rmf\" + filesavename + ".rmf")
While Len(FindIt) = 0
FindIt = Dir("f:\axys3\rmf\" + filesavename + ".rmf")
Wend

progID = Shell("command.com /Ccopy f:\axys3\rmf\" + filesavename +
".rmf f:\perf\reports\" + perffolder)

FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
If Not Len(FindIt2) = 0 Then
Kill "f:\axys3\txt\" + filesavename + ".TXT"
End If

progID = Shell("f:\axys3\rep32.exe  -mperf  -p" & ccm & " -u -s -vx -
t" & filesavename)
'THE LINE ABOVE NEVER RUNS SO THE FIND FILE CODE BOMBS OUT BELOW

FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
While Len(FindIt2) = 0
FindIt2 = Dir("f:\axys3\txt\" + filesavename + ".TXT")
Wend

'IT HANGS ON THE CODE ABOVE BECAUSE THE SHELL OUT NEVER RUNS

Yes. Do you think that is causing an issue?
 
T

Tim Williams

Have you tried echoing your shell lines via debug.print and running them
manually ?

Tim
 

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