Закрытие 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. Но почему тогда нет зацикливания???? :) :)

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

Помогите, пожалуйста. Заранее спасибо =)
 
сделай переменную, которую при нажати на кансел будут менять с 0 на 1. А перед выводом вопрорса проверяй. А то условие Pr=false может несразу менятся или менятся на 1 изменением Cancel. Если все это в цикле-заюзай wait() нагугли использование. Чтоб проверка не так часто была. Кода кот наплакал большего сказать не могу.
 
вот так вот будет лучше
"
If Pr = False Then
if MsgBox("бла-бла", vbRetryCancel, "Внимание...") = vbRetry Then Cancel = True else ThisWorkbook.Close SaveChanges:=False

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab