Otwórz Narzędzia - Makra - LibreOffice Basic - Edycja i wybierz kontener Makra aplikacji.
Biblioteki ScriptForge tworzą rozszerzalną kolekcję zasobów skryptów makr dla LibreOffice, które mogą być wywoływane z podstawowych makr lub skryptów Pythona.
• Podstawowe makra wymagają załadowania biblioteki ScriptForge przy użyciu następującej instrukcji: GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skrypty Pythona wymagają importu z modułu scriptforge: from scriptforge import CreateScriptService
Opisane moduły i klasy są wywoływane ze skryptów użytkownika jako „Usługi”. W tym celu dla każdego języka został zaprojektowany ogólny konstruktor tych usług.
Metoda Dispose jest dostępna we wszystkich usługach i należy ją wywołać w celu zwolnienia zasobów po użyciu:
Udostępnia zbiór metod służących do manipulowania i przekształcania tablic jednego wymiaru (wektorów) i tablic dwuwymiarowych (macierzy). Obejmuje to operacje na zestawach, sortowanie, importowanie i eksportowanie do plików tekstowych.
Tablice o więcej niż dwóch wymiarach nie mogą być używane z metodami w tej usłudze, jedynym wyjątkiem jest metoda CountDims, która akceptuje tablice o dowolnej liczbie wymiarów.
Usługa Base zapewnia szereg metod i właściwości ułatwiających zarządzanie i obsługę dokumentów LibreOffice Base.
Ta usługa jest ściśle powiązana z usługą Document, która zapewnia ogólne metody obsługi dokumentów LibreOffice, w tym dokumentów Base. W związku z tym usługa Base rozszerza usługę Document i udostępnia dodatkowe metody, specyficzne dla dokumentów Base, umożliwiające użytkownikom:
Uzyskiwanie dostępu do bazy danych zawartej w dokumencie Base.
Otwieranie dokumentów formularzy przechowywanych w dokumencie Base.
Sprawdzanie, czy dokument formularza z dokumentu Base jest aktualnie załadowany.
Usługa ScriptForge.Basic proponuje kolekcję podstawowych metod LibreOffice do wykonania w kontekście języka Python. Metody usługi Basic odtwarzają dokładną składnię i zachowanie wbudowanych funkcji języka Basic.
Biblioteka współdzielona SFDocuments udostępnia szereg metod i właściwości ułatwiających zarządzanie i obsługę dokumentów LibreOffice.
Usługa SFDocuments.Calc jest podklasą usługi SFDocuments.Document. Dostęp do wszystkich metod i właściwości zdefiniowanych dla usługi Document można również uzyskać za pomocą instancji usługi Calc.
Usługa Calc koncentruje się na:
Obsłudze arkuszy w dokumencie programu Calc (kopiowanie, wstawianie, przenoszenie itp.)
Wymianie danych pomiędzy podstawowymi strukturami danych a zakresami Calc
Usługa Datasheet pozwala na wizualizację zawartości tabel bazy danych oraz wyników kwerend i instrukcji SQL za pomocą widoku danych Base. Dodatkowo usługa ta umożliwia:
Dodaj niestandardowe menu do widoku danych.
Dostęp do wartości w określonych pozycjach widoku danych.
Usługa Dialog umożliwia zarządzanie oknami dialogowymi utworzonymi za pomocą Edytora okien dialogowych Basic lub oknami dialogowymi utworzonymi w locie. Każde wystąpienie bieżącej klasy reprezentuje pojedyncze okno dialogowe wyświetlane użytkownikowi.
Usługa DialogControl zarządza formantami należącymi do okna dialogowego zdefiniowanego za pomocą edytora okien dialogowych Basic. Każde wystąpienie bieżącej usługi reprezentuje pojedynczy formant w oknie dialogowym.
Usługa koncentruje się na pobieraniu i ustawianiu wartości wyświetlanych w formantach okna. Elementy można formatować za pomocą właściwości XControlModel i XControlView.
Należy pamiętać, że zawartość unikalnej właściwości DialogControl.Value różni się w zależności od typu formantu.
Szczególną uwagę zwrócono na formantu kontroli drzewa typów. Łatwo jest obsadzić drzewo, albo gałąź po gałęzi, albo zestawem gałęzi na raz. Wypełnianie formantu drzewa może odbywać się statycznie lub dynamicznie.
Biblioteka SFDocuments udostępnia metody i właściwości ułatwiające zarządzanie dokumentami LibreOffice i manipulowanie nimi.
Metody mające zastosowanie do wszystkich typów dokumentów (dokumenty tekstowe, arkusze, prezentacje itp.) udostępnia usługa SFDocuments.Document. Oto kilka przykładów:
Otwieranie, zamykanie i zapisywanie dokumentów
Dostęp do standardowych lub niestandardowych właściwości dokumentów
Usługa Form udostępnia metody i właściwości umożliwiające zarządzanie formularzami w dokumentach LibreOffice. Usługa obsługuje formularze w dokumentach Base, Calc i Writer oraz pozwala na:
Otwieranie i aktywowanie formularzy.
Nawigowanie pomiędzy rekordami wyświetlanymi w formularzu.
Uzyskiwanie dostępu do formantów znajdujących się w formularzu.
Uzyskiwanie dostępu do podformularzy formularza nadrzędnego.
Usługa FormControl zapewnia dostęp do formantów należących do formularza, podformularza lub formantów tabeli FormDocument. Każda instancja usługi FormControl odnosi się do pojedynczego formantu w formularzu. Usługa ta umożliwia użytkownikom:
Pobieranie i ustawianie właściwości formantu reprezentowanego przez instancję FormControl.
Uzyskanie dostępu do bieżącej wartości wyświetlanej przez formant.
Usługa FormDocument umożliwia dostęp do dokumentów formularzy przechowywanych w dokumentach LibreOffice Base.
W dokumencie Base istniejące dokumenty formularzy można przeglądać, wybierając Widok - Formularze w interfejsie użytkownika. Każdy dokument formularza może składać się z jednego lub większej liczby formularzy, w tym formularza głównego i innych formularzy podrzędnych.
Usługa ta udostępnia szereg metod związanych z tłumaczeniem ciągów znaków przy minimalnym wpływie na kod źródłowy programu. Metody udostępniane przez usługę L10N można wykorzystać głównie do:
Tworzenia plików POT, które można wykorzystać jako szablony do tłumaczenia wszystkich ciągów znaków w programie.
Uzyskania przetłumaczonych ciągów znaków w czasie wykonywania dla języka zdefiniowanego we właściwości Locale.
Usługa Menu może być używana do tworzenia i usuwania menu z paska menu okna dokumentu LibreOffice. Każda pozycja menu może być powiązana ze skryptem lub poleceniem UNO. Ta usługa zapewnia następujące możliwości:
Tworzenie menu z niestandardowymi wpisami, polami wyboru, przyciskami opcji i separatorami.
Usługa PopupMenu może zostać wykorzystana do tworzenia wyskakujących menu, które można powiązać ze zdarzeniami lub wykonać za pomocą skryptów. Ta usługa zapewnia następujące możliwości:
Tworzenie wyskakujących menu z niestandardowymi wpisami, polami wyboru i przyciskami radiowymi.
Głównym celem modułu Services jest zapewnienie dostępu do metody CreateScriptService, którą można wywołać w skryptach użytkownika w celu utworzenia instancji usług zaimplementowanych przy użyciu frameworka ScriptForge.
Usługa Toolbar pozwala na pobranie informacji związanych z paskami narzędzi dostępnymi dla konkretnego okna dokumentu. Dzięki tej usłudze możliwe jest:
Usługa ToolbarButton pozwala na pobranie informacji związanych z przyciskami paska narzędzi dostępnymi na danym pasku narzędzi. Dzięki tej usłudze możliwe jest:
Przełączanie widoczności elementów paska narzędzi.
Wykonywanie polecenia powiązanego z danym przyciskiem paska narzędzi.
Biblioteka współdzielona SFDocuments udostępnia szereg metod i właściwości ułatwiających zarządzanie i obsługę dokumentów LibreOffice.
Niektóre metody są ogólne dla wszystkich typów dokumentów i są dziedziczone z modułu SF_Document, natomiast inne metody, które są specyficzne dla dokumentów programu Writer, są zdefiniowane w module SF_Writer.
Uwaga: inne nieopisane moduły ScriptForge są zarezerwowane do użytku wewnętrznego. Ich treść może ulec zmianie bez powiadomienia.
Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.