我有一个名为的文件,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