VBA如何处理带有空格的路径的cmd命令?

[复制链接]
查看11 | 回复1 | 2011-4-19 11:17:34 | 显示全部楼层 |阅读模式
VBA,用CreateObject(\"wshell\").Run和Shell的方法在cmd中运行一个.bat文件,但是cmd命令中,路径有空格如C:\\a a.txt,我加了双引号,异常是没抛出,可是运行的结果不对。请问该怎么处理?请各位帮我想办法,我会很感谢的!
回复

使用道具 举报

千问 | 2011-4-19 11:17:34 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">如果你是直接在VBA中输入CMD命令打开“C:\\a a.txt”,可以这样:
Set wshShell = CreateObject(\"WScript.Shell\")
wshShell.Run \"%Comspec% /c \" defds123 \"\"\"\" defds123 \"C:\\a a.txt\" defds123 \"\"\"\"

如果是在VBA中打开一个BAT文件,BAT文件中是打开“C:\\a a.txt”,那么VBA中命令为:
Set wshShell = CreateObject(\"WScript.Shell\")
wshShell.Run \"C:\\open.bat\",0
而“C:\\open.bat”中的内容为:
start \"c:\\a a.txt\"(或直接写:\"c:\\a a.txt\",注意加引号)

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-3750297\">不知道有没有更多方法?这样自己找一个程序来做还是行得通,但是复杂的.bat中有很多,花很久才能执行完。用过引号的方法,只有部分能够执行,无法完成全部功能。还有Shell应该怎么做呢?谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行