Закрытие Workbook

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

FEDAZzZ

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

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

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

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

Gamlet

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

XOXOJI

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

Exit Sub
"