当工作簿名称包含空格时,在Excel VBA中使用Application.Run

Lau*_*ent 11 excel vba excel-vba

Application.Run"MyWorkBook.xls!Macro1"

将工作(在MyWorkBook.xls文件中运行名为Macro1的宏)

Application.Run "MyWorkBook.xls!Macro1"
Run Code Online (Sandbox Code Playgroud)

不会(如果工作簿名称包含空格,Excel说"无法找到宏").

我花了好几个小时搞清楚是造成这个问题的空间......

有没有办法解决这个问题而不重命名文件?

e.J*_*mes 22

使用文件名周围的单引号:

Application.Run "'My Work Book.xls'!Macro1"
Run Code Online (Sandbox Code Playgroud)


小智 6

用.替换每个空格 %20

Application.Run "My%20Work%20Book.xls!Macro1"
Run Code Online (Sandbox Code Playgroud)

  • 我知道这是很久以前的事了,但我认为这是一个非常有效的答案. (9认同)