Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Step Through works but...
I have some code that shells out to a program, writes a pdf file and
then it is supposed to move the file from the programs default location to a location specified in the macro. All of the code works when I step through or if I add a pause of 1-2 seconds (Not currently in the code below) but not in regular mode. I don't want to use the wait statement because some of the files can take 20 seconds or more to write and I don't want that long of a pause for smaller files. Can anyone think why the file would not copy to the new location while running the macro in regular mode? It writes the PDF to the default location so the WEND loop is okay but it never copies the file over. Thanks - Michael Rem Run RMF report FindIt = Dir("f:\axys3\pdf\" + filesavename + ".pdf") If Not Len(FindIt) = 0 Then Kill "f:\axys3\pdf\" + filesavename + ".pdf" End If If q4check < 4 Then progID = Shell("f:\axys3\rep32.exe -mquarter -p" & ccm & " -u -s -vf - t" & filesavename) Else If ccmdate inceptcutoff Then progID = Shell("f:\axys3\rep32.exe -mqtr_eoy2 -p" & ccm & " -u -s -vf - t" & filesavename) Else progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" & ccm & " -u -s -vf - t" & filesavename) End If End If Rem Application.Run macro:="rmffile" FindIt = Dir("f:\axys3\pdf\" + filesavename + ".pdf") While Len(FindIt) = 0 FindIt = Dir("f:\axys3\pdf\" + filesavename + ".pdf") Wend progID = Shell("command.com /Ccopy f:\axys3\pdf\" + filesavename + ".pdf f:\perf\reports\" + perffolder) FindIt = Dir("f:\perf\reports\" + perffolder + "\" + filesavename + ".pdf") While Len(FindIt) = 0 FindIt = Dir("f:\perf\reports\" + perffolder + "\" + filesavename + ".pdf") Wend |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Step Through works but...
I was doing some Excel to pdf stuff a few years ago; I did end up using a
wait (about 5s per file) but all my files were the same size and I could run it overnight so I wasn't worried about the delay. IIRC, the PDF creator used an internal 2-step process, so if I tried to move the PDFs right after creation, it wouldn't find them (hence the step-through vs regular mode difference). The pdf maker/distiller (at the time, several versions ago) didn't allow me to pass a filename parameter, so I was forced to wait until each file was created and move them before continuing. If I were attempting the same thing today, I'd see if that has been updated- if you can give each file a unique name, then just make an array of the source filenames and where you want them to go, and do all your moves at the end. Alternatively, rename your source Excel file (probably using a saveas) in a dummy directory, do your print so it takes that filename for the pdf, then rename your source file again, print another, etc... that way you can hopefully force your pdf creator to produce the pdfs with different filenames (and just go delete all the extra Excel files at the end of your run). Of course, if your pdf creator uses a generic filename, then you may be stuck with a wait statement. HTH, Keith "mburkett" wrote in message ... I have some code that shells out to a program, writes a pdf file and then it is supposed to move the file from the programs default location to a location specified in the macro. All of the code works when I step through or if I add a pause of 1-2 seconds (Not currently in the code below) but not in regular mode. I don't want to use the wait statement because some of the files can take 20 seconds or more to write and I don't want that long of a pause for smaller files. Can anyone think why the file would not copy to the new location while running the macro in regular mode? It writes the PDF to the default location so the WEND loop is okay but it never copies the file over. Thanks - Michael Rem Run RMF report FindIt = Dir("f:\axys3\pdf\" + filesavename + ".pdf") If Not Len(FindIt) = 0 Then Kill "f:\axys3\pdf\" + filesavename + ".pdf" End If If q4check < 4 Then progID = Shell("f:\axys3\rep32.exe -mquarter -p" & ccm & " -u -s -vf - t" & filesavename) Else If ccmdate inceptcutoff Then progID = Shell("f:\axys3\rep32.exe -mqtr_eoy2 -p" & ccm & " -u -s -vf - t" & filesavename) Else progID = Shell("f:\axys3\rep32.exe -mqtr_eoy -p" & ccm & " -u -s -vf - t" & filesavename) End If End If Rem Application.Run macro:="rmffile" FindIt = Dir("f:\axys3\pdf\" + filesavename + ".pdf") While Len(FindIt) = 0 FindIt = Dir("f:\axys3\pdf\" + filesavename + ".pdf") Wend progID = Shell("command.com /Ccopy f:\axys3\pdf\" + filesavename + ".pdf f:\perf\reports\" + perffolder) FindIt = Dir("f:\perf\reports\" + perffolder + "\" + filesavename + ".pdf") While Len(FindIt) = 0 FindIt = Dir("f:\perf\reports\" + perffolder + "\" + filesavename + ".pdf") Wend |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Step-through works, Run does not? | Excel Programming | |||
Macros: Step Thru Works, Run Works, Keyboard Shortcut Locks up | Excel Programming | |||
It works when I step through it but it won't run | Excel Programming | |||
macro works differently when using the Step Into (F8) feature | Excel Programming | |||
Works if I single step | Excel Programming |