Usługa SFDocuments.Writer

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.

Wywoływanie usługi

Przed użyciem usługi Writer należy załadować lub zaimportować bibliotekę ScriptForge:

note

• 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


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.

W języku Basic

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.

W języku Python

    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()
  
tip

Użycie prefiksu "SFDocuments." podczas wywoływania usługi jest opcjonalne.


Definicje

Właściwości

Metody

Lista metod w usłudze Writer

Forms

PrintOut



Forms

W zależności od podanych parametrów ta metoda zwróci:

note

Ta metoda ma zastosowanie tylko w przypadku dokumentów programu Writer. Dokumenty Calc i Base mają własną metodę Forms w usługach Calc i Base.


Składnia:

svc.Forms(): str[0..*]

svc.Forms(form: str = ''): svc

svc.Forms(form: int): svc

Parametry:

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.

Przykład:

W poniższych przykładach pierwsza linia pobiera nazwy wszystkich formularzy w dokumencie, a druga linia pobiera obiekt Form formularza o nazwie "Form_A".

W języku Basic

    Set FormNames = oDoc.Forms()
    Set FormA = oDoc.Forms("Form_A")
  
W języku Python

    form_names = doc.Forms()
    form_A = doc.Forms("Form_A")
  

PrintOut

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.

Składnia:

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

Parametry:

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).

Przykład:

W języku Basic

      oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)
  
W języku Python

    doc.PrintOut(printblankpages = True, copies = 3)
  
warning

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.


Prosimy o wsparcie!