Zdarzenie skoroszytu przed zamknięciem

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

kliknij, aby powiększyć

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.

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.


Kurs Excel programowanie w VBA

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *