View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
shockley shockley is offline
external usenet poster
 
Posts: 135
Default run awk95 using Shell()

Larry,

This worked for me:

Put "input.txt" and "awk.exe" in the root directory of C:
Put these lines in a .bat file called "awk.bat" and put the bat file in the
root directory of C:

C:
cd\
awk95 "/^ $/{nextfile} 1" input.txt output.txt

Then make a macro with these lines and run it:

Sub Tester()
ChDrive "C"
ChDir "C:\"
Shell ("awk.bat")
End Sub

(But you really don't need to do this strip operation).

HTH,
Shockley


"L Mehl" wrote in message
...
I have an awk script to process a text file before importing it. The

script
strips rows from the text file after hitting a line containing only " ".

This works from the DOS prompt in c:\filepath\:
c:\filepath\awk95 "/^ $/{nextfile} 1" c:\filepath\input.txt
c:\filepath\output.text

The following does not work:
strAWKCommandLine = _
"c:\filepath\awk95 " & Chr(34) & "/^ $/{nextfile} 1" & Chr(34) & "
c:\filepath\input.txt c:\filepath\output.text"

Shell(strAWKCommandLine,1)

Another question:
While debugging this, how can I keep the DOS window open so I can see any
error messages?

An example I saw used "/k" :
Shell(Environ$("comspec") & " /k yourfile.bat", vbNormalFocus)

I can't get that code structure to work.

Thanks for any help on using Shell or keeping the DOS window open

Larry Mehl






---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.600 / Virus Database: 381 - Release Date: 2/28/2004