Procedura BeforeClose to jedno ze zdarzeń skoroszytu (czyli procedur uruchamianych automatycznie) . Znajduje się ona w module skoroszytu.

Procedura Workbook_BeforeClose(Cancel as Boolean) jest uruchamiana automatycznie zawsze przed zamknięciem skoroszytu. Może służyć np. do sprawdzenia, czy wszystkie dane zostały wprowadzone czy zapisane.
Procedura ta ma jeden argument:
-
- Cancel – typu Boolean. Jest opcjonalny, wartość domyślna to Fałsz.
Przypisanie w procedurze wartości Prawda – działa tak jak przycisk Anuluj – czyli skoroszyt nie zostanie zamknięty.
- Cancel – typu Boolean. Jest opcjonalny, wartość domyślna to Fałsz.
Ostatnio w jednym ze swoich projektów wykorzystałam to, żeby możliwość zamknięcia pliku miał tylko użytkownik znający hasło. Wyglądało to mniej więcej tak:
Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim JHaslo As String JHaslo = InputBox(„Wpisz hasło do zamknięcia skoroszytu!”, „Kontrola uprawnień”) If JHaslo <> „abc” Then Cancel = True End If End Sub |
Przy próbie zamknięcia skoroszytu trzeba wpisać prawidłowe hasło (tu: abc) , gdyż w przeciwnym przypadku – skoroszyt nie zostanie zamknięty.