Закрытие Workbook

Тема в разделе "Visual Basic", создана пользователем FEDAZzZ, 18 фев 2009.

  1. FEDAZzZ

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

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

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

    Gamlet Well-Known Member

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

    XOXOJI Гость

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

    Exit Sub
    "
     
Загрузка...

Поделиться этой страницей