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

Application.Run“MyWorkBook.xls!Macro1”

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

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

将不会(如果工作簿名称包含空格,Excel表示“无法findmacros”)。

我只是花了好几个小时才发现这是造成这个问题的空间。

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

围绕文件名使用单引号:

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

%20replace每个空格

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

这里File_name是你想调用你的macros的文件的名字

  • Application.run“'”+ File_name +“'”+“!Macro”
  • 双引号之间的单引号+双引号之间的+ File_name +单引号+双引号之间的您的macros名称。