使用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