我的 excel vba 宏有问题。我需要它来执行与 Excel 工作簿位于同一文件夹中的批处理文件。代码有时运行良好。我不知道是什么导致了错误。这是代码:
Sub writebatch()
Sheets("code").Select
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.path & "\code.bat",
FileFormat:=xlTextPrinter, CreateBackup:=False
Application.DisplayAlerts = True
ThisWorkbook.Saved = True
Shell "cmd.exe /k cd " & ThisWorkbook.path & "&&code.bat"
Application.Quit
End Sub
它写入批处理文件,但随后不执行它。只有当我让命令窗口无法关闭并且它说找不到 code.bat 文件时。所以 changedir 命令起作用了。是否可以运行 cmd.exe 并使用相对路径运行 code.bat 而无需更改目录?