Страницы: 1
RSS
Не работает переключение .DisplayAlerts, Не получается перевести в состояние =FALSE
 
Добрый день уважаемые Гуру!

Собственно проблема - не работает Application.DisplayAlerts.
Т.е. наоборот - работает, а вот перевести в состояние =FALSE не получается  :(
Поиском подобного не нашел, если проглядел - дайте ссылку пожалуйста.

В примере все зацепил на кнопки, лист без пароля.
.EnableEvents в этом примере включается и выключается без проблем...

Вот где лыжи не едут?
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
 
Думаю неправильная методика  :)

Попробуйте так:

Код
Sub tt()
Application.DisplayAlerts = False
ThisWorkbook.SaveAs "путь к существующему файлу" 
End Sub


И вот запустите с работающей и неработающей строкой Application.DisplayAlerts = False

Или вот так погонять:

Код
Sub tt()
Application.DisplayAlerts = False
ThisWorkbook.SaveAs "C:\Documents and Settings\юзер\Desktop\Book2.xls"
Application.DisplayAlerts = True
ThisWorkbook.SaveAs "C:\Documents and Settings\юзер\Desktop\Book2.xls"
End Sub
Изменено: Hugo - 05.02.2013 11:25:54
 
Здесь та же история что и  Application.ScreenUpdating. При корректном выходе из продцедуры, значение встает в True автоматически.
 
У меня вот так заработало
Согласие есть продукт при полном непротивлении сторон
 
Спасибо, друзья! Разобрался :)
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
 
А можете поподробнее объяснить в чем проблема?
У меня также не получается перевести приложение в состояние .DisplayAlerts = False
Если выдать MsgBox сразу после выполнения строки отключения, значение указано False, но при открытии книги, в которой запрашивается обновление ссылок, значение сразу становится True и диалоговое окно не подавляется.
 
В справке MSDN также указано:
If you set this property to False , Microsoft Excel sets this property to True when the code is finished, unless you are running cross-process code.

Но что он считает за "cross-process code"? Разве открытие новой книги входит в это определение? Если да, то есть ли какой-либо способ установить .DisplayAlerts = False на все время выполнение макроса?
Страницы: 1
Читают тему
Наверх