使用VBA调用Shell命令中的特定excel单元
我有一个bat文件,我希望从VBA执行。 在我的工作簿中是batch file的名称:test.bat。 由于test.bat和我的工作簿将改变我使用的文件夹
ThisWorkbook.Path
始终拥有当前目录。
不过,在放入ThisWorbook.Path之后,我无法在shell命令中插入包含batch file名的单元格。
这是我的代码到目前为止:
Sub helpme () Shell "cmd.exe /k cd " & ThisWorkbook.Path & Range("B41") End Sub
请注意,只是
Shell "cmd.exe /k cd " & ThisWorkbook.Path
代码将打开一个cmd窗口并将其设置为工作簿的目录,所以这只是插入单元格B41中包含的“test.bat”string以执行bat文件的问题。
非常感谢您的帮助,我希望这是一个简单的修复:)
要添加到imtheman的答案:如果您的工作簿path包含空格,那么你应该包装在引号的path
Sub helpme () 'Shell "cmd.exe /k cd """ & ThisWorkbook.Path & "\" & Range("B41") & """" 'if you just want to run the bat file... Shell """" & ThisWorkbook.Path & "\" & Range("B41") & """" End Sub
ThisWorkbook.Path
没有结尾\
Sub helpme () Shell "cmd.exe /k cd " & ThisWorkbook.Path & "\" & Range("B41") End Sub