我正在尝试通过VBA运行命令提示符来执行一些命令,但我遇到了错误。
运行时错误'-214702894(80070002)':
对象'IWshShell3'的方法'运行'失败
我已尝试在引号中包装文件路径(如下所示),但错误仍然存在于我使用的任何方法中。
Shell.Run "cd """ & MyDocumentsPath & """", 1, True
Shell.Run "cd " & Chr(34) & MyDocumentsPath & "Chr(34)", 1, True
我还尝试直接键入文件路径(没有空格),但也失败了。
Shell.Run "cd ""C:\Users\GardD""", 1, True
有人能发现任何问题吗?这是我的完整代码 -
Dim Shell As Object ' An instance of the 'Shell' object
Set Shell = VBA.CreateObject("WScript.Shell")
Dim MyDocumentsPath As String ' The path to the current users 'My Documents' folder
MyDocumentsPath = GetMyDocumentsPath
Shell.Run "cd " & MyDocumentsPath, 1, True ' Change the Shell start location to the users 'My Documents' folder
Shell.Run DIR_CMD & DIR_FILE_PATH, 1, True ' Output the full file paths of all files in the users 'My Documents' folder
Set Shell = Nothing ' Destroy the 'Shell' object
答案 0 :(得分:2)
cd
不是可执行文件;它是一个仅存在于(cmd.exe)控制台会话中的命令,同样适用于dir
,如果它是DIR_CMD
中的内容。
你可以Shell.Run "cmd /c cd c:\temp & dir *.xls", 1, true
使用VBA在命令行上做任何你想做的事情可能更好。