Spis treści
Indeks 🔎︎

# Makra sterowane zdarzeniami w dokumentach

W tej sekcji opisano sposób przypisywania skryptów do zdarzeń aplikacji, dokumentu lub formularza.

Możesz automatycznie wykonać makro, gdy wystąpi określone zdarzenie programowe, przypisując żądane makro do zdarzenia. Poniższa tabela zawiera przegląd zdarzeń dokumentu oraz moment, w którym wykonywane jest przypisane makro.

Zdarzenie | Przypisane makro jest uruchamiane... | Procedura
--- | --- | ---
Uruchom aplikację | ...po uruchomieniu aplikacji LibreOffice. | OnStartApp
Zamknij aplikację | ...przed zakończeniem działania aplikacji LibreOffice. | OnCloseApp
Dokument został utworzony | ...nowy dokument utworzony za pomocą Plik - Nowy lub ikony Nowy. Należy zauważyć, że to zdarzenie jest uruchamiane również po otwarciu IDE Basic. | OnCreate
Nowy dokument | ...po utworzeniu nowego dokumentu za pomocą polecenia Plik - Nowy lub ikony Nowy. | OnNew
Ładowanie dokumentu zostało zakończone | ...przed otwarciem dokumentu za pomocą polecenia Plik - Otwórz lub ikony Otwórz. | OnLoadFinished
Otwórz dokument | ...po otwarciu dokumentu za pomocą polecenia Plik - Otwórz lub ikony Otwórz. | OnLoad
Dokument zostanie zamknięty | ...przed zamknięciem dokumentu. | OnPrepareUnload
Dokument został zamknięty | ...po zamknięciu dokumentu. Uwaga: Zdarzenie "Zapisz dokument" może mieć miejsce także, kiedy dokument jest zapisywany przed zamknięciem. | OnUnload
-bez interfejsu użytkownika- |  | OnLayoutFinished
Widok został utworzony | Wyświetlany jest dokument. Należy zauważyć, że to zdarzenie ma również miejsce, gdy dokument jest duplikowany. | OnViewCreated
Widok zostanie zamknięty | Układ dokumentu jest usuwany. | OnPrepareViewClosing
Widok zamknięty | Układ dokumentu jest czyszczony przed zamknięciem dokumentu. | OnViewClosed
Uaktywnij dokument | ...po przesunięciu dokumentu na pierwszy plan. | OnFocus
Dezaktywuj dokument | ...po przesunięciu innego dokumentu na pierwszy plan. | OnUnfocus
Zapisz dokument | ...przed zapisaniem dokumentu za pomocą polecenia Plik - Zapisz lub za pomocą ikony Zapisz, jeśli nazwa pliku została już określona. | OnSaveAs
Dokument został zapisany | ...po zapisaniu dokumentu za pomocą polecenia Plik - Zapisz lub za pomocą ikony Zapisz, jeśli nazwa pliku została już określona. | OnSaveDone
Zapisywanie dokumentu zakończyło się niepowodzeniem | Dokument nie mógł zostać zapisany. | OnSaveFailed
Zapisz dokument jako | ...przed zapisaniem dokumentu pod określoną nazwą (za pomocą polecenia Plik - Zapisz jako lub Plik - Zapisz lub za pomocą ikony Zapisz, jeśli nazwa pliku nie została jeszcze określona). | OnSaveAs
Dokument został zapisany jako | ... po zapisaniu dokumentu pod określoną nazwą (za pomocą polecenia Plik - Zapisz jako lub Plik - Zapisz lub za pomocą ikony Zapisz, jeśli nazwa pliku nie została jeszcze określona). | OnSaveAsDone
Działanie funkcji 'Zapisz jako' zakończyło się niepowodzeniem | Dokument nie mógł zostać zapisany. | OnSaveAsFailed
-bez interfejsu użytkownika- | Kiedy zmieniła się lokalizacja na dysku dokumentu, na przykład po działaniu Plik - Zapisz jako. | OnStorageChanged
Przechowywanie lub eksportowanie kopii dokumentu | ...przed zapisaniem dokumentu za pomocą Plik - Zapisz kopię, Plik - Eksportuj, Plik - Eksportuj jako PDF lub ikony Zapisz. | OnCopyTo
Kopia dokumentu została utworzona | ...po zapisaniu dokumentu za pomocą Plik - Zapisz kopię, Plik - Eksportuj, Plik - Eksportuj jako PDF lub ikony Zapisz. | OnCopyToDone
Tworzenie kopii dokumentu zakończyło się niepowodzeniem | Dokument nie mógł zostać skopiowany ani wyeksportowany. | OnCopyToFailed
Drukuj dokument | ...po zamknięciu okna dialogowego Drukuj, ale przed rozpoczęciem bieżącego procesu drukowania. Zdarzenie ma miejsce po wydrukowaniu każdej kopii. | OnPrint
-bez interfejsu użytkownika- | ...po zmianie ustawień zabezpieczeń dokumentu. | OnModeChanged
Stan 'Zmodyfikowany' został zmieniony | Zmodyfikowany stan dokumentu uległ zmianie. | OnModifyChanged
Tytuł dokumentu uległ zmianie | Gdy tytuł dokumentu zostanie zaktualizowany. | OnTitleChanged
Składnik podrzędny został załadowany | ...po otwarciu formularza bazy danych. | OnSubComponentOpened
Składnik podrzędny został zamknięty | ...po zamknięciu formularza bazy danych. | OnSubComponentClosed
Rozpoczęło się drukowanie listów seryjnych | ...przed wydrukowaniem listów seryjnych za pomocą menu Plik - Drukuj lub Narzędzia - Kreator korespondencji seryjnej. | OnMailMerge
Zakończyło się drukowanie listów seryjnych | ...po wydrukowaniu listów seryjnych za pomocą menu Plik - Drukuj lub Narzędzia - Kreator korespondencji seryjnej. | OnMailMergeFinished
Rozpoczęło się drukowanie pól formularza | ...przed wydrukowaniem pól formularza. | OnFieldMerge
Zakończyło się drukowanie pól formularza | ...po wydrukowaniu pól formularza. | OnFieldMergeFinished
Zmiana liczby stron | Kiedy zmienia się liczba stron. | OnPageCountChanged

Większość zdarzeń dotyczy dokumentów, z wyjątkiem OnStartApp, OnCloseApp, OnCreate i OnLoadFinished, które występują na poziomie aplikacji. Zdarzenia OnSubComponentOpened i OnSubComponentClosed są uruchamiane przez formularze bazy danych.

Dokumenty programu Writer wywołują te określone zdarzenia: OnLayoutFinished, OnMailMerge, OnMailMergeFinished, OnFieldMerge, OnFieldMergeFinished i OnPageCountChanged.

## Przypisanie makra do zdarzenia

1. Wybierz Narzędzia - Dostosuj i kliknij zakładkę Wydarzenia.

2. Wybierz, czy przypisanie ma obowiązywać na poziomie globalnym, czy tylko w bieżącym dokumencie w polu listy Zapisz w.

3. Wybierz zdarzenie z listy Wydarzenie.

4. Z listy Makra wybierz moduł zawierający makro, które ma zostać przypisane do wybranego zdarzenia. Lista zawiera hierarchiczną listę modułów, bibliotek, plików i szablonów.

5. Kliknij przycisk Przypisz.

6. Kliknij przycisk OK, aby zamknąć okno dialogowe.

## Usunięcie przypisania makra do zdarzenia

1. Wybierz Narzędzia - Dostosuj i kliknij zakładkę Wydarzenia.

2. Wybierz, czy usunięcie przypisania ma obowiązywać na poziomie globalnym, czy tylko w bieżącym dokumencie w polu listy Zapisz w.

3. Z listy Wydarzenie wybierz zdarzenie zawierające przypisanie, które ma zostać usunięte.

4. Kliknij przycisk Usuń.

5. Kliknij przycisk OK, aby zamknąć okno dialogowe.

Tematy pokrewne

Oprócz przypisywania makr do zdarzeń, można monitorować zdarzenia wyzwalane w dokumentach LibreOffice.