• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Закрытие Workbook

  • Автор темы FEDAZzZ
  • Дата начала
F

FEDAZzZ

Привет, может кто поможет советом:

Мне надо при закрытии Excla проверять одно условие, если условие не выполняеттся вдаеться окошко с кнопками Retry и Cancel

При нажатии на Ретри - закрытие отменяется

При нажатии на Кансел - документ закрывается без сохранения:

Вот код:


"
If Pr = False Then Answ = MsgBox("бла-бла", vbRetryCancel, "Внимание...")

If Answ = vbRetry Then Cancel = True

If Answ = vbCancel Then ThisWorkbook.Close SaveChanges:=False

Exit Sub
"


Но тогда при нажатии Кансел, еще раз появляется Мессаджебокс, с тем же вопросом. и только потом закрывается. Как этого избежать?

Зы. Вроде причину я понимаю.... типо на при свойстве Close, занавово выполнятеся процедура BeforeClose. Но почему тогда нет зацикливания???? :) :)

вообщем вопрос в том, как закрыт ВоркБук с первого нажатия кансел?

Помогите, пожалуйста. Заранее спасибо =)
 
G

Gamlet

сделай переменную, которую при нажати на кансел будут менять с 0 на 1. А перед выводом вопрорса проверяй. А то условие Pr=false может несразу менятся или менятся на 1 изменением Cancel. Если все это в цикле-заюзай wait() нагугли использование. Чтоб проверка не так часто была. Кода кот наплакал большего сказать не могу.
 
X

XOXOJI

вот так вот будет лучше
"
If Pr = False Then
if MsgBox("бла-бла", vbRetryCancel, "Внимание...") = vbRetry Then Cancel = True else ThisWorkbook.Close SaveChanges:=False

Exit Sub
"
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!