Pomoc LibreOffice 24.8
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.
Przed użyciem usługi Writer należy załadować lub zaimportować bibliotekę ScriptForge:
Usługa Writer jest ściśle powiązana z usługą UI biblioteki ScriptForge. Poniżej znajduje się kilka przykładów wywołania usługi Writer.
Poniższy fragment kodu tworzy instancję usługi Writer odpowiadającą aktualnie aktywnemu dokumentowi Writer.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "Untitled 1") ' Default = ActiveWindow
  Innym sposobem utworzenia instancji usługi Writer jest użycie usługi UI. W poniższym przykładzie tworzony jest nowy dokument Writer, a oDoc jest instancją usługi Writer:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Writer")
  Lub używając metody OpenDocument z usługi UI:
    Set oDoc = ui.OpenDocument("C:\Me\MyFile.odt")
  Możliwe jest także utworzenie instancji usługi Writer przy użyciu metody CreateScriptService:
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
  W powyższym przykładzie "MyFile.odt" to nazwa otwartego okna dokumentu. Jeżeli ten argument nie zostanie podany, pod uwagę brane będzie aktywne okno.
Zaleca się zwolnienie zasobów po użyciu:
    Set oDoc = oDoc.Dispose()
  Jeśli jednak dokument został zamknięty przy użyciu metody CloseDocument, zwalnianie zasobów za pomocą opisanej powyżej komendy staje się niepotrzebne.
    myDoc = CreateScriptService("Writer") ' Default = ActiveWindow
  
    ui = CreateScriptService("UI")
    myDoc = ui.CreateDocument("Writer")
  
    myDoc = ui.OpenDocument(r"C:\Documents\MyFile.odt")
  
    myDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
    myDoc.Dispose()
  Użycie prefiksu "SFDocuments." podczas wywoływania usługi jest opcjonalne.
| Lista metod w usłudze Writer | ||
|---|---|---|
W zależności od podanych parametrów ta metoda zwróci:
Tablica liczona od zera (lub krotka w Pythonie) zawierająca nazwy wszystkich formularzy zawartych w dokumencie (w przypadku braku argumentu form)
Instancja usługi sfDocuments.Form reprezentująca formularz wymieniony jako argument.
svc.Forms(): str[0..*]
svc.Forms(form: str = ''): svc
svc.Forms(form: int): svc
form: nazwa lub indeks odpowiadający formularzowi zapisanemu w dokumencie. W przypadku braku tego argumentu metoda zwróci listę z nazwami wszystkich formularzy dostępnych w dokumencie.
W poniższych przykładach pierwsza linia pobiera nazwy wszystkich formularzy w dokumencie, a druga linia pobiera obiekt Form formularza o nazwie "Form_A".
    Set FormNames = oDoc.Forms()
    Set FormA = oDoc.Forms("Form_A")
  
    form_names = doc.Forms()
    form_A = doc.Forms("Form_A")
  Ta metoda ładuje wszystkie style należące do jednej lub większej liczby rodzin stylów z zamkniętego pliku do rzeczywistego dokumentu. Rzeczywisty dokument musi być dokumentem Calc lub Writer.
Są zawsze importowane razem:
ParagraphStyles i CharacterStyles
NumberingStyles i ListStyles
Zwraca wartość True, jeśli style zostały pomyślnie zaimportowane.
svc.ImportStylesFromFile(filename: str, families: str[1..*], overwrite = False): bool
filename: plik, z którego mają zostać załadowane style w notacji FileSystem. Zakłada się, że plik należy do tego samego typu dokumentu, co dokument rzeczywisty.
families: jedna z rodzin stylów występujących w rzeczywistym dokumencie jako ciąg znaków, który uwzględnia wielkość liter, lub tablica takich ciągów. Pozostaw ten argument pusty, aby zaimportować wszystkie rodziny.
overwrite: gdy True, rzeczywiste style mogą zostać nadpisane. Wartość domyślna to False.
    oDoc.ImportStylesFromFile("C:\User\Documents\myFile.ods", "ParagraphStyles", True)
  
    doc.ImportStylesFromFile('C:\User\Documents\myFile.ods', ("ParagraphStyles",), False)
  Wysyła zawartość dokumentu do drukarki. Drukarkę można wcześniej zdefiniować domyślnie przez użytkownika lub za pomocą metody SetPrinter usługi Document. Zwraca wartość True, jeśli operacja się powiedzie.
svc.PrintOut(opt pages: str = "", opt copies: num = 1, opt printbackground: bool = True, opt printblankpages: bool = False, opt printevenpages: bool = True, opt printoddpages: bool = True, opt printimages: bool = True): bool
pages: strony do wydrukowania jako ciąg znaków, jak w interfejsie użytkownika. Przykład: "1-4;10;15-18". Domyślnie = wszystkie strony
copies: liczba kopii, domyślnie 1.
printbackground: drukuje obraz tła, gdy True (domyślnie).
printblankpages: gdy False (domyślnie), pomija puste strony.
printevenpages: drukuje strony parzyste, gdy True (domyślnie).
printoddpages: drukuj strony nieparzyste, gdy True (domyślnie).
printimages: drukuj obiekty graficzne, gdy True (domyślnie).
      oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)
  
    doc.PrintOut(printblankpages = True, copies = 3)