在我的VBA代码中,我使用Call Shell(....)
来称呼蝙蝠。
我现在需要在VBA的批处理文件中获取“回显答案”。
我该怎么做?
我的批处理文件:
@echo off
IF exist %3 (robocopy %1 %2 /e ) ELSE (echo 1)
我想在VBA中获得那个“ 1”。
答案 0 :(得分:2)
您无法使用Call Shell
返回答案。您需要使用WScript.Shell
,并且可以使用它返回的执行对象中的读取行。
Dim sh As Object
Set sh = CreateObject("WScript.Shell")
Dim ex As Object
Set ex = sh.Exec("C:\Path\To\File.bat")
Dim ans As String
ans = ex.StdOut.ReadAll
速记,如果要保存行:
Dim ans As String
ans = CreateObject("WScript.Shell").Exec("C:\Path\To\File.bat").StdOut.ReadAll