Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / January 2008

Tip: Looking for answers? Try searching our database.

Shell Out Failing

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
mburkett - 25 Jan 2008 14:15 GMT
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
Jim Cone - 25 Jan 2008 17:15 GMT
Are you killing the Flag.txt file between calls to the Shell statement?
Signature

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

mburkett - 25 Jan 2008 17:55 GMT
> Are you killing the Flag.txt file between calls to the Shell statement?
> --
[quoted text clipped - 43 lines]
>
> 'IT HANGS ON THE CODE ABOVE BECAUSE THE SHELL OUT NEVER RUNS

Yes. Do you think that is causing an issue?
Jim Cone - 25 Jan 2008 18:22 GMT
I thought you were Not killing the Flag file, so I don't know what the issue is.
Signature

Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)

"mburkett" <michaelburkett@gmail.com>
wrote in message
Yes. Do you think that is causing an issue?
-snip-

On Jan 25, 12:15 pm, "Jim Cone"
wrote:

> Are you killing the Flag.txt file between calls to the Shell statement?
Tim Williams - 26 Jan 2008 04:58 GMT
Have you tried echoing your shell lines via debug.print and running them
manually ?

Tim

>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
[quoted text clipped - 35 lines]
>
> 'IT HANGS ON THE CODE ABOVE BECAUSE THE SHELL OUT NEVER RUNS
mburkett - 26 Jan 2008 13:23 GMT
On Jan 25, 11:58 pm, "Tim Williams" <timjwilliams at gmail dot com>
wrote:
> Have you tried echoing your shell lines via debug.print and running them
> manually ?
[quoted text clipped - 42 lines]
>
> - Show quoted text -

I am not sure how to do that?
Tim Williams - 27 Jan 2008 02:59 GMT
Debug.Print "f:\axys3\rep32.exe -mperf -p" & ccm & " -u -s -vx -t" &
filesavename

Then run the string that gets printed.

Or switch to using the wscript shell.exec method, which gives to access to
stderr and stdout.
http://msdn2.microsoft.com/en-us/library/ateytk4a(VS.85).aspx

Tim

On Jan 25, 11:58 pm, "Tim Williams" <timjwilliams at gmail dot com>
wrote:
> Have you tried echoing your shell lines via debug.print and running them
> manually ?
[quoted text clipped - 47 lines]
>
> - Show quoted text -

I am not sure how to do that?
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.