2015-11-03 4 views
1

В проекте я принял сверх, я нашел этот код:Есть ли причина для переключения MSExcel.Excel.ApplicationClass.DisplayAlerts?

private MSExcel.Excel.ApplicationClass _xlApp; 
. . . 
_xlApp.DisplayAlerts = false; 
_xlApp.DisplayAlerts = true; 

Поскольку я не знаю, почему MSExcel.Excel.ApplicationClass.DisplayAlerts будет переключен от ложного к истине, без кода между ними, Я оставлю его так, как сейчас, но почему бы это переключение было полезным или необходимым?

+1

Был ли автор оплачен линией? – pnuts

ответ

1

Один случай: Если вы используете макрос/VBA для удаления листов из книги и не хотите, чтобы msgbox говорил: «Вы хотите удалить этот рабочий лист?» всплывал, то вы

_xlApp.DisplayAlerts = false; 
ActiveWorkBook.WorkSheets("Sheet2").delete 
_xlApp.DisplayAlerts = true; 

и код будет удалять Лист2 без запроса пользователя нажать ОК, и что более важно для меня, процедура будет выполняться до завершения, когда вы получаете кофе.

+1

Q имеет ** без кода между **. – pnuts

+0

Я прочитал это как «почему этот переключатель будет полезным или необходимым?» как в том, почему в мире кто-нибудь захочет отключить или отключить DisplayAlerts? Вот почему я ответил так же, как и я. Глядя на переключатель, как он отображается в примере OPs, он выглядит как остаток того, что я описал, который с тех пор был (частично) удален. – gadaju

+0

Возможно, так оно и было, но все же нет, ИМО, ответ на вопрос * почему этот переключатель будет полезен или необходим? *. Ваш «ответ» на который, кажется, «возможно, это не переключение?». – pnuts