Excel VBA Shell命令,文件路径中包含空格

时间:2016-03-15 21:55:42

标签: vba excel-vba cmd excel

Public Sub openEntryFiles()
Dim filePath, shellCommand, agingsEntry, invenEntry As String
filePath = Range("CustomerPath").Value2 & "\files\"
agingsEntry = "agings\entry_EP.bat"
invenEntry = "inven\entry_EP.bat"

shellCommand = """%ProgramFiles(x86)%\TextPad 5\TextPad.exe"" -r -q -u """ & filePath & agingsEntry & """ -u """ & filePath & invenEntry & """"
Debug.Print shellCommand
Shell shellCommand, 0
End Sub

我正在尝试编写一个子例程,该子例程将在文件路径中运行带有空格的shell命令。我已经做了很多关于使用多个引号的研究,但是每当我运行代码时,我仍然会收到一个找不到文件的错误。输出到立即窗口的调试打印读取:

"%ProgramFiles(x86)%\TextPad 5\TextPad.exe" -r -q -u "\\ablsgaat002\aclwin\Clients\*****\files\agings\entry_EP.bat" -u "\\ablsgaat002\aclwin\Clients\*****\files\inven\entry_EP.bat"

将该字符串复制到shell窗口中效果很好,但是,从VBA中的Shell命令运行它不起作用。我做错了什么?

1 个答案:

答案 0 :(得分:2)

使用anObject功能获取特殊文件夹

Environ