在 excel VBA 窗口中执行批处理文件时出错



我试图通过标准调用shell((函数执行批处理文件。 此批处理文件特定于项目,由外部应用程序为每个项目自动创建。主要功能是规范化大约 40 个文件,其中包含用于我的项目的统计数据。此数据正在从 excel 获取。手动执行时,整个过程大约需要 30 秒,并且工作正常。

当我尝试在 VBA 中使用调用 shell 函数访问它时,它只是弹出了大约 2 秒钟,并且输出不是从批处理文件生成的。 我附上下面用于此的示例代码。我只是在 VBA 宏中踩婴儿。请原谅我的编码实践。

Call Shell(Range("L8") & "DSTAT$.BAT")

我也试过这个

`Dim Runcc
Runcc = Shell(Range("L8") & "DSTAT$.BAT", 1)`

如果需要任何进一步的信息来解决这个问题,请告诉我。

尝试

Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1 
With CreateObject("WScript.Shell")
.Run Range("L8") & "DSTAT$.BAT", windowStyle, waitOnReturn
End With

我用它来将PDF转换为JPG,在Ms-Access中report_open上的Irfanview。

从 vba WScript.Shell 运行.exe带有参数的文件

窃取

最新更新