从 Excel VBA 运行 .bat Windows 批处理文件

从 Excel VBA 运行 .bat Windows 批处理文件

我有一个名为的文件,newcurl.bat位于我的 excel 文件所在的当前目录中

我想要 excelVBA 运行此文件

我试过:

Shell "cmd.exe /k ""cd " & """ & ThisWorkbook.path & """ & " newcurl.bat"""

但它只会将 CD 复制到当前文件夹路径,而不会实际运行newcurl.bat文件

答案1

我最终弄清楚了。

我有一本 personal.xlsb 宏手册,因此thisworkbook.path引用了错误的工作簿。

我最终这样做了:

Dim folderPath As String
Dim shellCommand As String

folderPath = Application.ActiveWorkbook.Path
shellCommand = """" & folderPath & "\" & "newcurl.bat" & """"
Call Shell(shellCommand, vbNormalFocus)

答案2

您搞乱了双引号 -ThisWorkbook.path在命令中实际上是这样使用的。

如果你将命令打印到控制台,你就可以自己看到:

Dim strCommand As String
strCommand = "cmd.exe /k ""cd " & """ & ThisWorkbook.path & """ & " newcurl.bat"""
Debug.Print strCommand
Shell strCommand

相关内容