Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Workbook_BeforeClose Добавлено: 17.10.08 09:25  

Автор вопроса:  AngryBadger
При выполнении Workbook_BeforeClose отображается Userform, можно ли в зависимости от нажатого на Userform'е, CommandButton'а выполнить Workbook_BeforeClose - cancel?..
Заранее спасибо.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 17.10.08 15:09
Да
ты сам ответил на свой вопрос.

Ответить

Номер ответа: 2
Автор ответа:
 Шпион



ICQ: 250543104 

Вопросов: 13
Ответов: 118
 Профиль | | #2 Добавлено: 17.10.08 15:40
Если не ошибаюсь, то в BeforeClose один из параметров называется Cancel
попробовать Cancel=True ?

Ответить

Номер ответа: 3
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #3 Добавлено: 17.10.08 15:49
Это то мне понятно, но мне нужно чтобы по событию Закрытия книги, вылезал юзерформ, на котором 3 кнопки, при нажатие на одну из них выполнялось бы Cancel = True, а другие кнопки отвечали бы за сохранение.

Ответить

Номер ответа: 4
Автор ответа:
 Nytrogen



Вопросов: 18
Ответов: 186
 Профиль | | #4 Добавлено: 17.10.08 16:02
Попробуйте так:

  1. Public cancelClosing As Boolean
  2.  
  3. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  4.   UserForm1.Show
  5.   Cancel = cancelClosing
  6. End Sub
  7.  
  8. Private Sub UserForm_Initialize()
  9.   cancelClosing = False
  10. End Sub
  11.  
  12. Private Sub CancelBtn_Click()
  13.   cancelClosing = True
  14. End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 17.10.08 18:14
И зачем так премудрствовать?

  1. Option Explicit
  2.  
  3. Private ExitVar As Long
  4.  
  5. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  6.  
  7.     If ExitVar = 0 Then ExitVar = MsgBox("Ñîõðàíèòü èçìåíåíèÿ?", vbQuestion Or vbYesNoCancel)
  8.     Select Case ExitVar
  9.         Case vbYes: ActiveWorkbook.Save
  10.         Case vbNo: ActiveWorkbook.Close False
  11.         Case vbCancel: Cancel = True: ExitVar = 0
  12.     End Select
  13.  
  14. End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 17.10.08 18:15
Млин, ну митуй как всегда.
Расшифровываю, в msgboxе вопрос "Сохранить изменения?"

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам