Подтвердить что ты не робот

Удалить листы и не позволять Excel запрашивать у пользователя подтверждение, используя вместо этого

У меня есть кнопка, которая запускает цепочку событий. Одно из этих событий - удалить лист. Прежде чем он удалит что-либо, я вывожу свое сообщение YES/NO, предлагающее ему подтвердить весь процесс.

Затем появляется вспомогательное событие для удаления листа, а Excel запрашивает собственное сообщение для подтверждения удаления листа. Проблема в том, что если он не говорит в этот момент, это устанавливает мое приложение в несогласованном состоянии.

Как я могу обходить Excel с просьбой подтвердить удаление листа?

4b9b3361

Ответ 1

Вы можете изменить параметр предупреждения по умолчанию в Excel, используя:

Application.DisplayAlerts = False

не забудьте восстановить стандартное поведение в конце вашего процесса:

Application.DisplayAlerts = True

Ответ 2

УДАЛИТЬ ВСЕ ЛИСТЫ С ВЫХОДОМ "ДОКЛАД" **

Dim NM As String
Dim CTS As Integer
Dim CNT2 As Integer
Dim CNT3 As Integer
CNT3 = 1
CNT2 = 1
CTS = Sheets.Count
Do Until CNT2 = CTS + 1
NM = Sheets(CNT3).Name
If Name = "Report" Then
Range("A1").Select
CNT3 = CNT3 + 1
Else
Sheets(NM).Select
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End If
CNT2 = CNT2 + 1
Loop