我有一些简单的Excel VBA代码可以打开非Excel文件,如:
Sub scriptTest()
Set objshell = CreateObject("Wscript.Shell")
objshell.Run ("C:\TestFolder\Book1.pdf")
Set objshell = Nothing
End Sub
运行此程序会在Acrobat Reader中打开该文件。但是,如果我尝试打开一个名称包含空格字符的文件,例如:
Sub scriptTest()
Set objshell = CreateObject("Wscript.Shell")
objshell.Run ("C:\TestFolder\Bo ok1.pdf")
Set objshell = Nothing
End Sub
我明白了:
如果我使用Windows“开始”菜单中的Run
命令,则两个文件都可以正常打开。我怎样才能克服这个问题?
答案 0 :(得分:11)
执行语句objshell.Run ("C:\TestFolder\Bo ok1.pdf")
时,要求shell执行命令
C:\TestFolder\Bo ok1.pdf
这被解释为执行参数C:\TestFolder\Bo.exe
的{{1}}程序的请求。
您实际上希望shell执行命令
ok1.pdf
其中引号由命令解释器用于" group"部分命令在一起。
要获取该命令,您需要执行语句
"C:\TestFolder\Bo ok1.pdf"