运行 使用 VBA 来自 CMD 的 Exe 文件 Excel
Running Exe File from CMD using VBA Excel
我正在尝试 运行 来自 VBA 的简单 cmd 行,但我遇到了问题。基本上,命令行调用 createReport.exe 使用 Inputfile.csv
创建最终的 CSV 输出文件
这是我在命令提示符下手动 运行 window :
cd C:\Users\user123\Desktop\MyReport_folder (hits enter)
createReport.exe
-in=C:\Users\user123\Desktop\MyReport_folder\Inputfile.csv (hits enter)
当我手动 运行 时,一切正常,创建最终 CSV 输出文件大约需要 45 秒。但是当我 运行 来自 vba macro 的相同内容时,屏幕显示开始查询步骤并保持 30 秒,关闭并且不创建最终的 CSV 输出文件。
我的代码中缺少什么吗?
Sub RunReport()
Application.DisplayAlerts = False
Dim strProgramName As String
Dim strArgument As String
strProgramName = "C:\Users\user123\Desktop\MyReport_folder\createReport.exe"
strArgument = "-in=C:\Users\user123\Desktop\MyReport_folder\Inputfile.csv"
Call Shell("""" & strProgramName & """ """ & strArgument & """", vbMaximizedFocus)
Application.DisplayAlerts = True
End Sub
上面的查询调用命令提示符,运行s,但在图片中显示“开始查询步骤...”的步骤 1 30 秒后停止(而过程 运行如果我从 cmd 运行 手动 window)
就完美了
感谢您的帮助。谢谢。
我相信您首先需要在调用 Shell()
命令之前执行 ChDir
,例如:
ChDir "C:\Users\user123\Desktop\MyReport_folder"
Call Shell("""" & strProgramName ...
我正在尝试 运行 来自 VBA 的简单 cmd 行,但我遇到了问题。基本上,命令行调用 createReport.exe 使用 Inputfile.csv
创建最终的 CSV 输出文件这是我在命令提示符下手动 运行 window :
cd C:\Users\user123\Desktop\MyReport_folder (hits enter)
createReport.exe -in=C:\Users\user123\Desktop\MyReport_folder\Inputfile.csv (hits enter)
当我手动 运行 时,一切正常,创建最终 CSV 输出文件大约需要 45 秒。但是当我 运行 来自 vba macro 的相同内容时,屏幕显示开始查询步骤并保持 30 秒,关闭并且不创建最终的 CSV 输出文件。
我的代码中缺少什么吗?
Sub RunReport()
Application.DisplayAlerts = False
Dim strProgramName As String
Dim strArgument As String
strProgramName = "C:\Users\user123\Desktop\MyReport_folder\createReport.exe"
strArgument = "-in=C:\Users\user123\Desktop\MyReport_folder\Inputfile.csv"
Call Shell("""" & strProgramName & """ """ & strArgument & """", vbMaximizedFocus)
Application.DisplayAlerts = True
End Sub
上面的查询调用命令提示符,运行s,但在图片中显示“开始查询步骤...”的步骤 1 30 秒后停止(而过程 运行如果我从 cmd 运行 手动 window)
就完美了感谢您的帮助。谢谢。
我相信您首先需要在调用 Shell()
命令之前执行 ChDir
,例如:
ChDir "C:\Users\user123\Desktop\MyReport_folder"
Call Shell("""" & strProgramName ...