Pomoc LibreOffice 24.8
Biblioteki ScriptForge agregują zasoby skryptowe makro, aby LibreOffice, który ma zostać wywołany z makr Basic lub skryptów Pythona. Jego moduły i klasy są wywoływane ze skryptów użytkowników jako „usługi”, które ujawniają właściwości, metody i zdarzenia.
Jeśli metody usługi są zaprojektowane wyłącznie dla LibreOffice Basic, notacja ich składni odpowiada podprogramom, funkcjom lub właściwościom Basic.
Jeśli metody usługi są zaprojektowane dla Pythona i Basic lub tylko dla Pythona, ich składnia i argumenty używają określonego formatu.
Typograficzne cechy nawiasów kwadratowych, elips i nawiasów klamrowych wskazują na opcjonalne, powtarzające się i obowiązkowe argumenty:
       FSO.HashFile(FileName As String, _
           Algorithm As String = {MD5|SHA1|SHA224|SHA256|SHA384|SHA512}) As String
       SF_Array.ImportFromCSVFile(FileName As String, _
           [Delimiter = ","], [DateFormat As String]) As Variant
       SF_String.SplitNotQuoted(InputStr As String, _
          [Delimiter As String], [Occurrences As Long], [QuoteChar As String]) As Variant
    Poniższe reguły typograficzne mieszają notację UML, układ dokumentacji API i interfejs użytkownika inspektora obiektów UNO:
Opcjonalne parametry są oznaczone słowem opt, '=' z następującą wartością domyślną lub nawiasami kwadratowymi '[ ]'.
Argumenty są napisane małymi literami, aby pasowały do zaleceń Pythona PEP 8 (podczas gdy rozmiar liter Basic nie ma znaczenia).
Argumenty z kolekcjami lub sekwencjami API są oznaczone za pomocą mnogości w UML. Dotyczy to również wartości zwrotnych.
Typy danych Basic są konwertowane na adnotacje Pythona w następujący sposób:
| LibreOffice | Składnia | Python | 
|---|---|---|
| Typ logiczny | bool | bool | 
| Date | datetime | datetime | 
| Double | float | float | 
| Integer | int | int | 
| Long | int | int | 
| Object | obj | |
| Single | float | float | 
| String | str | str | 
| Variant | any | |
| Obiekt UNO | uno | |
| Użytkownika | obj | |
| Usługa | svc | 
svc.Forms( opt form: any ): svc[0..*]
svc.MsgBox( prompt: str, buttons = svc.MB_OK , opt title: str ): opt str
svc.InputBox( prompt: str, default = "", [ title: str ], [ xpostwips: int, ypostwips: int ] ): str