VBA Excel: Application.DisplayAlerts не работает, если вызывается из другого макроса - PullRequest
0 голосов
/ 14 мая 2018

У меня есть макрос, открывающий другую книгу, которую можно прочитать только.Чтобы избежать предупреждений только для чтения, я переключаю свойство Application.DisplayAlerts на False, например,

Sub tmp()
Application.DisplayAlerts = False
Debug.Print Application.DisplayAlerts
Workbooks.Open "\\Co-file01\FileName.xlsx"
End Sub

И оно работает нормально, но если я вызываю его из другого макроса, например,

Sub tmp1()
Application.Run "tmp"
End Sub

Iвсе равно получите предупреждение, и код перестает работать, ожидая ответа.Строка

Debug.Print Application.DisplayAlerts 

возвращает False, поэтому кажется, что свойство действительно переключено, но по какой-то причине оно не применяется.

Может кто-нибудь объяснить причины, по которым он работает таким образом, и предложитьлюбой обходной путь?

Я работаю с Excel 2016 64-битной, Windows 7, если имеет значение

1 Ответ

0 голосов
/ 14 мая 2018

jkpieterse предложил ответ

Вы должны вызывать макрос напрямую по его имени: просто наберите tmp1 на новая строка, вместо использования application.run

...