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

时间:2010-01-26 00:27:32

标签: excel vba excel-vba

Application.Run“MyWorkBook.xls!Macro1”

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

Application.Run "My Work Book.xls!Macro1"

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

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

如果没有重命名文件,还有办法吗?

3 个答案:

答案 0 :(得分:22)

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

Application.Run "'My Work Book.xls'!Macro1"

答案 1 :(得分:6)

%20

替换每个空格
Application.Run "My%20Work%20Book.xls!Macro1"

答案 2 :(得分:1)

此处 File_name 是您要为其调用宏的文件的名称

  • Application.run"'" + File_name +"'" +"!Macro"
  • 双引号之间的单引号,后跟+文件名+双引号之间的单引号+双引号之间的宏名称。