Pomoc LibreOffice 25.2
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
Właściwości, metody lub argumenty oznaczone (*) NIE mają zastosowania do dokumentów Base.
Metody i właściwości specyficzne dla niektórych komponentów LibreOffice są przechowywane w oddzielnych usługach, takich jak SFDocuments.SF_Calc i SFDocuments.SF_Base.
Chociaż język Basic nie oferuje dziedziczenia pomiędzy klasami obiektów, te ostatnie usługi można uznać za podklasy usługi SFDocuments.Document. Takie podklasy mogą odwoływać się do właściwości i metod opisanych poniżej.
Przed użyciem usługi Document należy załadować lub zaimportować bibliotekę ScriptForge:
Poniżej znajdują się trzy warianty wywołania usługi Document.
Używając metody getDocument z usługi ScriptForge.UI:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.GetDocument("Untitled 1")
  Ewentualnie możesz użyć metod CreateDocument i OpenDocument z usługi UI.
    Set oDocA = ui.CreateDocument("Calc")
    Set oDocB = ui.OpenDocument("C:\Documents\MyFile.odt")
  Korzystanie z nazwy okna, jeśli dokument jest już otwarty.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "Untitled 1") 'Default = ActiveWindow
  Korzystanie z dokumentu, do którego odwołuje się ThisComponent. Jest to szczególnie przydatne podczas uruchamiania makra z poziomu IDE Basic.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Document", ThisComponent)
  Z makra wywołanego zdarzeniem w dokumencie.
    Sub RunEvent(ByRef poEvent As Object)
        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.DocumentEvent", poEvent)
        ' (...)
    End Sub
  Usługa Document jest ściśle powiązana z usługami UI i FileSystem.
Za wyjątkiem sytuacji, gdy dokument został zamknięty przez program metodą CloseDocument (jest to wówczas zbędne), zaleca się po wykorzystaniu zwolnić zasoby:
    Set oDoc = oDoc.Dispose()
  
    from scriptforge import CreateScriptService
    ui = CreateScriptService("UI")
    doc = ui.GetDocument("Untitled 1")
    # (...)
    doc.Dispose()
  
    docA = ui.CreateDocument("Calc")
    docB = ui.OpenDocument("C:\Documents\MyFile.odt")
  
    doc = CreateScriptService("SFDocuments.Document", "Untitled 1")
  
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
  
    def RunEvent(event)
        doc = CreateScriptService("SFDocuments.DocumentEvent", Event)
        # (...)
  Użycie prefiksu "SFDocuments." podczas wywoływania usługi jest opcjonalne.
| Nazwa | Tylko do odczytu | Typ | Opis | 
|---|---|---|---|
| CustomProperties (*) | Nie | Dictionary service | Zwraca instancję obiektu ScriptForge.Dictionary. Po aktualizacji można go ponownie przekazać do właściwości w celu aktualizacji dokumentu. | 
| Description (*) | Nie | String | Daje dostęp do właściwości Description dokumentu (znanej również jako „Komentarze”) | 
| DocumentProperties (*) | Tak | Dictionary service | Zwraca obiekt ScriptForge.Dictionary zawierający wszystkie wpisy. Uwzględniono statystyki dokumentów. Należy pamiętać, że są one specyficzne dla typu dokumentu. Na przykład dokument programu Calc zawiera wpis „CellCount”. Inne dokumenty tego nie robią. | 
| DocumentType | Tak | String | Wartość ciągu z typem dokumentu ("Base", "Calc", "Writer", etc) | 
| ExportFilters (*) | Tak | String array | Zwraca listę z nazwami filtrów eksportu mającymi zastosowanie do bieżącego dokumentu jako tablicę ciągów znaków liczoną od zera. Zwracane są również filtry używane do importu/eksportu. | 
| FileSystem | Tak | String | Zwraca ciąg znaków ze ścieżką URL do katalogu głównego wirtualnego systemu plików dokumentu. Skorzystaj z usługi FileSystem, aby przeglądać jego zawartość, a także tworzyć, otwierać i odczytywać zapisane w nim pliki. Odwiedź tę stronę pomocy, aby dowiedzieć się więcej na temat uzyskiwania dostępu do folderów i plików oraz manipulowania nimi w wirtualnym systemie plików pliku LibreOffice. | 
| ImportFilters (*) | Tak | String array | Zwraca listę z nazwami filtrów importu mającymi zastosowanie do bieżącego dokumentu jako tablicę ciągów znaków liczoną od zera. Zwracane są również filtry używane do importu/eksportu. | 
| 
            IsBase | Tak | Boolean | Dokładnie jedna z tych właściwości jest True dla danego dokumentu. | 
| Keywords (*) | Nie | String | Daje dostęp do właściwości Keywords dokumentu. Przedstawiana jako lista słów kluczowych rozdzielonych przecinkami | 
| Readonly (*) | Tak | Boolean | True, jeśli dokument faktycznie jest w trybie tylko do odczytu | 
| StyleFamilies (*) | Tak | String array | Lista dostępnych rodzin stylów. Ma zastosowanie do wszystkich typów dokumentów z wyjątkiem Base. | 
| Subject (*) | Nie | String | Daje dostęp do właściwości Subject dokumentu. | 
| Title (*) | Nie | String | Daje dostęp do właściwości Title dokumentu. | 
| XComponent | Tak | Obiekt UNO | Obiekt UNO com.sun.star.lang.XComponent lub com.sun.star.comp.dba.ODatabaseDocument reprezentujący dokument. | 
| XDocumentSettings (*) | Tak | Obiekt UNO | Obiekt UNO com.sun.star.XXX.DocumentSettings, gdzie XXX to sheet, text, drawing lub presentation. Obiekt ten zapewnia dostęp do wewnętrznych właściwości UNO, które są specyficzne dla typu dokumentu. | 
Poniższy przykład drukuje wszystkie właściwości dokumentu. Należy pamiętać, że obiekt oDoc zwrócony przez metodę UI.OpenDocument jest obiektem SFDocuments.Document.
    Dim ui as Variant : Set ui = CreateScriptService("UI")
    Dim oDoc as Object
    Set oDoc = ui.OpenDocument("C:\Documents\MyFile.ods")
    Dim propDict as Object
    Set propDict = oDoc.DocumentProperties
    Dim keys as Variant : propKeys = propDict.Keys
    Dim k as String, strProp as String
    For Each k In propKeys
        strProp = strProp & k & ": " & propDict.Item(k) & CHR$(10)
    Next k
    MsgBox strProp
    oDoc.CloseDocument()
  Aby uzyskać dostęp do właściwości dokumentu w skrypcie Pythona, użytkownik musi uzyskać do nich bezpośredni dostęp, używając ich nazw, jak pokazano poniżej:
    doc = ui.GetDocument(r"C:\Documents\MyFile.ods")
    msg = doc.Title + '\n' + doc.Description + '\n' + doc.Keywords
    bas = CreateScriptService("Basic")
    bas.MsgBox(msg)
    doc.CloseDocument()
  | Lista metod w usłudze Document | ||
|---|---|---|
| 
             Activate | ||
Zwraca True, jeśli dokument mógł zostać aktywowany. W przeciwnym razie nie nastąpi żadna zmiana w rzeczywistym interfejsie użytkownika. Jest to odpowiednik metody Activate usługi UI.
Ta metoda jest przydatna, gdy trzeba ustawić fokus na dokumencie, który jest zminimalizowany lub ukryty.
svc.Activate(): bool
Poniższy przykład uwzględnia, że plik „My_File.ods” jest już otwarty, ale nieaktywny.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Document", "MyFile.ods")
    oDoc.Activate()
  
    doc = CreateScriptService("Document", "MyFile.ods")
    doc.Activate()
  Pamiętaj, że możesz wywołać usługę Document, przekazując do CreateScriptService „Document” lub „SFDocuments.Document”
Zamyka dokument. Jeśli dokument jest już zamknięty, niezależnie od sposobu zamknięcia, ta metoda nie ma żadnego efektu i zwraca wartość False.
Metoda zwróci również False, jeśli użytkownik odmówi jego zamknięcia.
Zwraca wartość True, jeśli dokument został pomyślnie zamknięty.
svc.CloseDocument(saveask: bool = True): bool
saveask: jeśli True (domyślnie), użytkownik jest proszony o potwierdzenie, czy zmiany powinny zostać zapisane na dysku. Argument ten jest ignorowany, jeśli dokument nie został zmodyfikowany.
    If oDoc.CloseDocument(True) Then
        ' ...
    End If
  
    if doc.CloseDocument(True):
        # ...
  Tworzy nową pozycję menu na pasku menu danego okna dokumentu.
Ta metoda zwraca instancję usługi SFWidgets.Menu.
Utworzone menu jest dostępne tylko podczas bieżącej sesji LibreOffice i nie jest zapisywane ani w dokumencie, ani w globalnych ustawieniach aplikacji. Dlatego zamknięcie okna dokumentu spowoduje zniknięcie menu. Pojawi się ponownie dopiero, gdy makro tworzące menu zostanie ponownie wykonane.
svc.CreateMenu(menuheader: str, [before: any], submenuchar: str = ">"): svc
menuheader: nazwa najwyższego poziomu nowego menu.
before: nazwa (jako ciąg znaków) lub pozycja (jako liczba całkowita rozpoczynająca się od 1) istniejącego menu, przed którym zostanie umieszczone nowe menu. Jeżeli dla tego argumentu nie zostanie zdefiniowana żadna wartość, menu zostanie utworzone na ostatniej pozycji paska menu.
submenuchar: separator używany do tworzenia drzew menu podczas wywoływania metod jako AddItem z usługi Menu. Wartość domyślna to „>”.
    Dim oDoc as Object, oMenu as Object
    Set oDoc = CreateScriptService("Document")
    Set oMenu = oDoc.CreateMenu("Moje menu")
    With oMenu
        ' Dodaj pozycje do menu
        .AddItem("Item A")
        .AddItem("Item B")
        ' ...
        ' Po utworzeniu menu można zwolnić instancję usługi
        .Dispose()
    End With
  
    doc = CreateScriptService("Document")
    menu = doc.CreateMenu("Moje menu")
    menu.AddItem("Item A")
    menu.AddItem("Item B")
    # ...
    menu.Dispose()
  Odwiedź stronę pomocy SFWidgets.Menu, aby dowiedzieć się więcej o tworzeniu/usuwaniu menu w oknach dokumentów LibreOffice.
Pomija pojedynczy styl lub tablicę stylów podaną przez ich nazwy w określonej rodzinie stylów. Można usuwać tylko style zdefiniowane przez użytkownika. Style wbudowane są ignorowane. Dotyczy wszystkich typów dokumentów z wyjątkiem Base i FormDocument.
svc.DeleteStyles(family: str, styleslist: str[1..*])
family: jedna z rodzin stylów występujących w rzeczywistym dokumencie jako ciąg znaków, w którym rozróżniana jest wielkość liter. Prawidłowe nazwy rodzin można wyszukać za pomocą właściwości StyleFamilies.
styleslist: pojedyncza nazwa stylu jako ciąg znaków lub tablica nazw stylów. Nazwy stylów mogą być zlokalizowane lub nie. StylesList jest zazwyczaj wynikiem wykonania metody Styles().
    ' Usuwanie nieużywanych stylów akapitu
    Const family = "ParagraphStyles"
    aList = oDoc.Styles(family, used := False, userDefined := True)
    oDoc.DeleteStyles(family, aList)
  
    # Usuwanie stylów zgodnie z przedrostkiem
    a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
    doc.Styles('ParagraphStyles', a_list)
  Wstrzymuje aktualizacje interfejsu użytkownika (UI) podczas wykonywania makra. Opcjonalnie wskaźnik myszy można zmienić w klepsydrę, gdy aktualizacje interfejsu użytkownika są zawieszone.
Ta metoda może zapewnić pewną poprawę wydajności makr wykonujących liczne operacje wymagające aktualizacji interfejsu użytkownika.
svc.Echo(echoon: bool = True, hourglass: bool = False)
echoon: określ False, aby zawiesić aktualizacje interfejsu użytkownika. Wartość domyślna to True, która umożliwia aktualizacje interfejsu użytkownika w czasie rzeczywistym.
hourglass: określ True, aby zmienić wskaźnik myszy na klepsydrę (domyślnie = False).
Przesunięcie wskaźnika myszy po zmianie go na klepsydrę może spowodować przełączenie go na inny wskaźnik w zależności od nowego tła.
    ' Zawiesza aktualizacje interfejsu użytkownika i zmienia wskaźnik myszy na klepsydrę
    oDoc.Echo(EchoOn := False, HourGlass := True)
    ' Inne polecenia makro
    ' ...
    ' Przywraca aktualizacje interfejsu użytkownika i wskaźnik myszy
    oDoc.Echo()
  
    doc.Echo(echoon = False, hourglass = True)
    ...
    doc.Echo()
  Eksportuje dokument bezpośrednio jako plik PDF do określonej lokalizacji. Zwraca True, jeśli plik PDF został pomyślnie utworzony.
Opcje eksportu można ustawić ręcznie w oknie dialogowym lub wywołując metody GetPDFExportOptions i SetPDFExportOptions z usługi Session.
svc.ExportAsPDF(filename: str, overwrite: bool = False, opt pages: str, opt password: str, opt watermark: str): bool
filename: pełna ścieżka i nazwa pliku PDF, który ma zostać utworzony. Musi być zgodny z notacją SF_FileSystem.FileNaming.
overwrite: określa, czy plik docelowy może zostać nadpisany (domyślnie = False). Jeśli parametr overwrite jest ustawiony na False, a plik docelowy już istnieje, wystąpi błąd.
pages: ciąg znaków określający, które strony zostaną wyeksportowane. W tym argumencie zastosowano tę samą notację, co w oknie dialogowym .
password: określa hasło umożliwiające otwarcie pliku PDF.
watermark: tekst, który będzie używany jako znak wodny w pliku PDF, który będzie rysowany na każdej stronie wynikowego pliku PDF.
Poniższy przykład eksportuje bieżący dokument jako plik PDF, definiuje hasło i zastępuje plik docelowy, jeśli już istnieje.
    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf", Password := "1234", Overwrite := True)
  Poniższy fragment kodu pobiera aktualne opcje eksportu PDF i używa ich do utworzenia pliku PDF.
    Dim exportSettings as Object, oSession as Object
    oSession = CreateScriptService("Session")
    exportSettings = oSession.GetPDFExportOptions()
    ' Ustawia opcję True na opcję eksportowania komentarzy jako notatek PDF
    exportSettings.ReplaceItem("ExportNotes", True)
    oSession.SetPDFExportOptions(exportSettings)
    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf")
  
    doc.ExportAsPDF(r"C:\User\Documents\myFile.pdf", password = "1234", overwrite = True)
  
    session = CreateScriptService("Session")
    exportSettings = oSession.GetPDFExportOptions()
    exportSettings.ReplaceItem("ExportNotes", True)
    session.SetPDFExportOptions(exportSettings)
    doc.ExportAsPDF(r"C:\User\Documents\myFile.pdf")
  Metoda ta wysyła zawartość dokumentu do drukarki domyślnej lub do drukarki zdefiniowanej metodą SetPrinter.
Zwraca True, jeśli dokument został pomyślnie wydrukowany.
svc.PrintOut(pages: str = "", copies: num = 1): bool
pages: strony do wydrukowania jako ciąg znaków, jak w interfejsie użytkownika. Przykład: „1-4;10;15-18”. Wartość domyślna to wszystkie strony.
copies: liczba kopii. Wartość domyślna to 1.
    If oDoc.PrintOut("1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut(copies=3, pages='45-88'):
        # ...
  Usuwa menu najwyższego poziomu z paska menu danego okna dokumentu.
Zwraca wartość True, jeśli można usunąć określone menu. Jeśli określone menu nie istnieje, metoda zwraca False.
Tej metody można użyć do usunięcia dowolnej pozycji menu z okna dokumentu, łącznie z menu domyślnymi. Żadna z tych zmian na pasku menu nie jest jednak zapisywana w dokumencie ani w ustawieniach aplikacji. Aby przywrócić domyślne ustawienia paska menu, po prostu zamknij i otwórz ponownie okno dokumentu.
svc.RemoveMenu(menuheader: str): bool
menuheader: nazwa najwyższego poziomu menu, które ma zostać usunięte.
    Dim oDoc as Object
    Set oDoc = CreateScriptService("Document")
    oDoc.RemoveMenu("Moje menu")
  
    doc = CreateScriptService("Document")
    doc.RemoveMenu("Moje menu")
  Uruchamia polecenie UNO w oknie dokumentu skojarzonym z instancją usługi. Kilka typowych poleceń to: Save, SaveAs, ExportToPDF, Undo, Copy, Paste itp.
Sam dokument nie musi być aktywny, aby móc uruchamiać polecenia.
Polecenia można uruchamiać z argumentami lub bez nich. Argumenty nie są sprawdzane przed uruchomieniem polecenia. Jeśli polecenie lub jego argumenty są nieprawidłowe, nic się nie stanie.
Pełną listę poleceń UNO, które można uruchomić w LibreOffice, można znaleźć na stronie Wiki Development/DispatchCommands.
svc.RunCommand(command: str, [args: any])
command: ciąg znaków zawierający nazwę polecenia UNO, w którym rozróżniana jest wielkość liter. Dodanie przedrostka ".uno:" do polecenia jest opcjonalne. Samo polecenie nie jest sprawdzane pod kątem poprawności. Jeśli po wywołaniu polecenia nic się nie dzieje, prawdopodobnie polecenie jest nieprawidłowe.
args: dla każdego argumentu, który ma być przekazany do polecenia, określ parę zawierającą nazwę i wartość argumentu.
Poniższy przykład uruchamia polecenie SelectData w pliku Calc o nazwie „MyFile.ods”, co powoduje wybranie obszaru danych na podstawie aktualnie wybranej komórki. Należy pamiętać, że to polecenie nie wymaga żadnych argumentów.
    Set oDoc = CreateScriptService("Document", "MyFile.ods")
    oDoc.RunCommand("SelectData")
  Poniżej znajduje się przykład uruchamiający polecenie UNO ReplaceAll i przekazujący wartości dla swoich argumentów SearchString i ReplaceString. Uruchomienie tego polecenia spowoduje zastąpienie wszystkich wystąpień ciągu „abc” przez „ABC” w bieżącym arkuszu.
    ' Argumenty przekazywane do polecenia:
    ' SearchString  = "abc"
    ' ReplaceString = "ABC"
    oDoc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  Pamiętaj, że wywołanie polecenia ReplaceAll bez argumentów spowoduje otwarcie okna dialogowego .
    doc = CreateScriptService("Document", "MyFile.ods")
    doc.RunCommand("SelectData")
  
    doc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  W języku Python możliwe jest także wywołanie RunCommand przy użyciu argumentów słów kluczowych:
    doc.RunCommand(".uno:ReplaceAll", SearchString = "abc", ReplaceString = "ABC")
  Każdy komponent LibreOffice ma dostępny własny zestaw poleceń. Jednym z łatwych sposobów nauki poleceń jest przejście do Narzędzia - Dostosuj - Klawiatura. Kiedy najedziesz myszką na funkcję na liście Function, pojawi się podpowiedź z odpowiednim poleceniem UNO.
Przechowuje dokument w lokalizacji pliku, z której został załadowany. Metoda jest ignorowana, jeżeli dokument nie był modyfikowany.
Zwraca wartość False, jeśli nie można zapisać dokumentu. Jeśli plik jest otwarty w trybie tylko do odczytu lub jeśli jest to nowy plik, który nie został jeszcze zapisany, pojawia się błąd.
Sam dokument nie musi być aktywny, aby uruchomić tę metodę.
svc.Save(): bool
    If Not oDoc.Save() Then
        ' ...
    End If
  
    if not doc.Save():
        # ...
  Przechowuje dokument w podanej lokalizacji pliku. Nowa lokalizacja staje się nową nazwą pliku, do którego zostaną zastosowane proste wywołania metody Save.
Zwraca wartość False, jeśli nie można zapisać dokumentu. W przypadku odrzucenia nadpisywania miejsca docelowego lub gdy miejsce docelowe ma ustawiony atrybut tylko do odczytu, pojawia się błąd.
Sam dokument nie musi być aktywny, aby uruchomić tę metodę.
svc.SaveAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool
filename: ciąg zawierający nazwę pliku, który ma zostać użyty. Musi być zgodny z notacją SF_FileSystem.FileNaming.
overwrite: jeśli True, plik docelowy może zostać nadpisany (domyślnie = False).
password (*): ciąg znaków inny niż spacja chroniący dokument.
filtername (*): nazwa filtra, który ma zostać użyty przy zapisaniu dokumentu. Jeśli ten argument zostanie przekazany, filtr musi istnieć.
filteroptions (*): opcjonalny ciąg opcji skojarzony z filtrem.
    oDoc.SaveAs("C:\Documents\NewCopy.odt", overwrite := True)
  
    doc.SaveAs(r"C:\Documents\NewCopy.odt", overwrite = True)
  Przechowuje kopię lub eksportuje dokument do podanej lokalizacji pliku. Rzeczywista lokalizacja pozostaje niezmieniona.
Zwraca wartość False, jeśli nie można zapisać dokumentu. W przypadku odrzucenia nadpisywania miejsca docelowego lub gdy miejsce docelowe ma ustawiony atrybut tylko do odczytu, pojawia się błąd.
Sam dokument nie musi być aktywny, aby uruchomić tę metodę.
svc.SaveCopyAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool
filename: ciąg zawierający nazwę pliku, który ma zostać użyty. Musi być zgodny z notacją SF_FileSystem.FileNaming.
overwrite: jeśli True, plik docelowy może zostać nadpisany (domyślnie = False).
password (*): ciąg znaków inny niż spacja chroniący dokument.
filtername (*): nazwa filtra, który ma zostać użyty przy zapisaniu dokumentu. Jeśli ten argument zostanie przekazany, filtr musi istnieć.
filteroptions (*): opcjonalny ciąg opcji skojarzony z filtrem.
    oDoc.SaveCopyAs("C:\Documents\Copy2.odt", Overwrite := True)
  
    doc.SaveCopyAs(r"C:\Documents\Copy2.odt", overwrite = True)
  Określa opcje drukarki dla dokumentu.
Zwraca True, gdy się powiedzie.
svc.SetPrinter(opt printer: str, opt orientation: str, paperformat: str): bool
printer: nazwa kolejki drukarki, do której chcesz drukować. W przypadku nieobecności ustawiana jest drukarka domyślna.
orientation: albo PORTRAIT, albo LANDSCAPE. W przypadku braku pozostawione bez zmian w odniesieniu do ustawień drukarki.
paperformat: określa format papieru jako wartość ciągu, która może wynosić A3, A4, A5, LETTER, LEGAL lub TABLOID. Pozostawiony bez zmian w przypadku nieobecności.
    oDoc.SetPrinter(Orientation := "PORTRAIT")
  
    doc.SetPrinter(paperformat='TABLOID')
  Pobiera listę stylów pasujących do opcjonalnych kryteriów złożonych. Zwrócona tablica może być pusta. Dotyczy wszystkich typów dokumentów z wyjątkiem Base.
svc.Styles(family, opt namepattern: str, opt used: bool, opt userdefined: bool, opt parentstyle: str, opt category: str): str[0..*])
category: ciąg znaków, w którym nie jest rozróżniana wielkość liter: TEXT, CHAPTER, LIST, INDEX, EXTRA, HTML. Odpowiednie znaczenie można znaleźć w dokumentacji API kategorii stylu akapitu.
Argument ten jest ignorowany, gdy rodzina różni się od "ParagraphStyles".
namepattern: filtr nazw stylów jako wzorzec ciągu uwzględniający wielkość liter. Nazwy obejmują nazwy wewnętrzne i zlokalizowane.
Dozwolone symbole wieloznaczne to:
"?" oznacza dowolny pojedynczy znak.
"*" oznacza zero, jeden lub wiele znaków
parentstyle: jeśli jest obecny, zachowywane są tylko elementy podrzędne danej, zlokalizowanej lub nie, nazwy stylu nadrzędnego.
used: gdy True, styl musi zostać użyty w dokumencie, w przypadku jego braku argument jest ignorowany.
userdefined: gdy True, styl musiał zostać dodany przez użytkownika w dokumencie lub w jego szablonie. W przypadku braku argument jest ignorowany.
    Dim vStyles As Variant
    vStyles = oDoc.Styles("ParagraphStyles") ' Wszystkie style w rodzinie
    vStyles = oDoc.Styles("ParagraphStyles", "H*") ' Nagłówek, Nagłówek 1, ...
    vStyles = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' Wszystkie style zdefiniowane przez użytkownika, które nie są używane
    vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Wszystkie style wywodzące się z „Domyślnego stylu akapitu”
  
    vStyles = doc.Styles('ParagraphStyles')  # Wszystkie style w rodzinie
    vStyles = doc.Styles('ParagraphStyles', 'H*')  # Nagłówek, Nagłówek 1, ...
    vStyles = doc.Styles('ParagraphStyles', Used = False, UserDefined = True)  # Wszystkie style zdefiniowane przez użytkownika, które nie są używane
    vStyles = doc.Styles('ParagraphStyles', ParentStyle = 'Standard")  # Wszystkie style wywodzące się z „Domyślnego stylu akapitu”
  Ta metoda zwraca listę dostępnych nazw pasków narzędzi w rzeczywistym dokumencie lub instancję usługi SFWidgets.Toolbar.
    svc.Toolbars(opt ToolbarName: str): uno
    svc.Toolbars(): str[0..]
  
ToolbarName: zwykła nazwa jednego z dostępnych pasków narzędzi.
    Dim oToolbar As Object
    Set oToolbar = oDoc.Toolbars("myToolbar")
  
    a_list = doc.Toolbars()
  Ta metoda zwraca reprezentację UNO danego stylu dla wszystkich typów dokumentów z wyjątkiem Base. Nothing nie jest zwracane, jeśli StyleName nie istnieje w danej rodzinie.
svc.XStyles(family: str, stylename: str): uno
stylename: jeden ze stylów występujących w danej rodzinie jako ciąg znaków, w którym rozróżniana jest wielkość liter. StyleName może być zlokalizowany lub nie.
    Dim oStyle As Object
    Set oStyle = oDoc.XStyle("ParagraphStyle", "Heading 2")
  
    oStyle = doc.XStyle('ParagraphStyle', 'Heading 2')