Использование Application.Run в Excel VBA, когда имя книги содержит пробелы - PullRequest
10 голосов
/ 26 января 2010

Application.Run "MyWorkBook.xls! Macro1"

будет работать (запустите макрос Macro1 в файле MyWorkBook.xls)

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

не будет (если имя книги содержит пробелы, Excel говорит, что «макрос не найден»).

Я просто часами выяснял, что это пробелы, вызывающие эту проблему ...

Есть ли способ обойти это без переименования файла?

Ответы [ 3 ]

22 голосов
/ 26 января 2010

Используйте одинарные кавычки вокруг имени файла:

Application.Run "'My Work Book.xls'!Macro1"
6 голосов
/ 30 ноября 2010

Заменить каждое из мест на %20

Application.Run "My%20Work%20Book.xls!Macro1"
1 голос
/ 15 июня 2015

Здесь Имя_файла - это имя файла, для которого вы хотите вызвать свой макрос

  • Application.run "'" + File_name + "'" + "! Macro"
  • Одиночная кавычка между двойными кавычками с последующим + File_name + одинарная кавычка между двойными кавычками + ваше имя макроса между двойными кавычками.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...