Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
DOS..BAT VB Progamming problem
I have a program that prints to the screen. From a DOS window, or with a BAT
file I can redirect the data to a file via the following command "Path Arg1 Arg2 Filename. But, when I execute the BAT file from a VB program, using either Shell or FollowHyperlink, the output file is created or recreated but remains empty. Any help will be greatly appreciated. TomD |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
DOS..BAT VB Progamming problem
Tom,
The example below is an example of a technique that might work for you. In the example, I use the Exec method of the WScript.Shell object to capture the output of a program that would typically print to the console screen (in my example, I use ipconfig). The example simply reads the text stream output line by line and places the output in Column A of the active sheet but you could easily use the filesystemobject to create a new text file somewhere with the contents of the output if that's your ultimate goal. Steve Yandl '------------------------------------ Sub FetchIPconfig() Dim r As Integer r = 1 Set objShell = CreateObject("Wscript.Shell") Set objWshExec = objShell.Exec("ipconfig") Set objStdOut = objWshExec.StdOut Do Until objStdOut.AtEndOfStream strLine = objStdOut.ReadLine Cells(r, 1).Value = strLine r = r + 1 Loop Columns("A:A").EntireColumn.AutoFit Set objStdOut = Nothing Set objWshExec = Nothing Set objShell = Nothing End Sub '------------------------------------- "TomD" wrote in message ... I have a program that prints to the screen. From a DOS window, or with a BAT file I can redirect the data to a file via the following command "Path Arg1 Arg2 Filename. But, when I execute the BAT file from a VB program, using either Shell or FollowHyperlink, the output file is created or recreated but remains empty. Any help will be greatly appreciated. TomD |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
DOS..BAT VB Progamming problem
This is only a guess, but try adding a call to the Command Processor in your
Shell statement, something like this... Shell Environ("COMSPEC") & " c:\Path\To\BatFile\NameOfBatFile.bat" Note the space in front of the path string. -- Rick (MVP - Excel) "TomD" wrote in message ... I have a program that prints to the screen. From a DOS window, or with a BAT file I can redirect the data to a file via the following command "Path Arg1 Arg2 Filename. But, when I execute the BAT file from a VB program, using either Shell or FollowHyperlink, the output file is created or recreated but remains empty. Any help will be greatly appreciated. TomD |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
DOS..BAT VB Progamming problem
HI guys,
Thanks for the help. I have found a partial solution to my problem as shown below: varProc = Shell("cmd /c c:\Program.exe arg1 arg2 c:\InputData.txt") But, the problem is that the Executable will not always be in a Root Directory, as different people will put it in different places. It is, however, explicitively implied that it be in the same directory as the WorkBook. Therefore I tried this method and it fails: FileName = ActiveWorkbook.Path & "\Program.exe arg1 arg2 c:\InputData.txt" Thanks in advance for any help that you can give me, Tom "TomD" wrote: I have a program that prints to the screen. From a DOS window, or with a BAT file I can redirect the data to a file via the following command "Path Arg1 Arg2 Filename. But, when I execute the BAT file from a VB program, using either Shell or FollowHyperlink, the output file is created or recreated but remains empty. Any help will be greatly appreciated. TomD |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
DOS..BAT VB Progamming problem
Whoops, I forgot to show the resulting command, whic is as follows:
varProc = Shell("cmd /c FileName") "TomD" wrote: HI guys, Thanks for the help. I have found a partial solution to my problem as shown below: varProc = Shell("cmd /c c:\Program.exe arg1 arg2 c:\InputData.txt") But, the problem is that the Executable will not always be in a Root Directory, as different people will put it in different places. It is, however, explicitively implied that it be in the same directory as the WorkBook. Therefore I tried this method and it fails: FileName = ActiveWorkbook.Path & "\Program.exe arg1 arg2 c:\InputData.txt" Thanks in advance for any help that you can give me, Tom "TomD" wrote: I have a program that prints to the screen. From a DOS window, or with a BAT file I can redirect the data to a file via the following command "Path Arg1 Arg2 Filename. But, when I execute the BAT file from a VB program, using either Shell or FollowHyperlink, the output file is created or recreated but remains empty. Any help will be greatly appreciated. TomD |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Colon at the end of excel file name(ex: problem.xls:1, problem.xls | New Users to Excel | |||
Started out as an Access problem. Now an Excel problem | Excel Discussion (Misc queries) | |||
Lookup/Progamming Help! | Excel Programming | |||
Problem when multipple users access shared xl-file at the same time, macrocode for solve this problem? | Excel Programming |