gpt4 book ai didi

excel - 使用 VBA Excel 从 CMD 运行 Exe 文件

转载 作者:行者123 更新时间:2023-12-04 20:01:11 26 4
gpt4 key购买 nike

我正在尝试从 VBA 运行一个简单的 cmd 行,但我遇到了问题。基本上,命令行调用 createReport.exe,它使用 Inputfile.csv 创建最终的 CSV 输出文件
这是我从命令提示符窗口手动运行的:

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
上面的查询调用命令提示符,运行,但在 30 秒后停止,图片中的第 1 步显示“正在启动查询步骤...”(而如果我从 cmd 窗口手动运行该过程完美运行)
enter image description here
感谢您的帮助。谢谢。

最佳答案

相信你首先需要做一个ChDir在调用 Shell() 之前命令,类似于:

ChDir "C:\Users\user123\Desktop\MyReport_folder"
Call Shell("""" & strProgramName ...

关于excel - 使用 VBA Excel 从 CMD 运行 Exe 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71954588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com