Pomoc LibreOffice 25.2
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 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.
Ta usługa dziedziczy metody i właściwości z usługi Document i jest często używana razem z usługami Base i Database.
Przejdź do usługi Document, aby dowiedzieć się więcej o metodach i właściwościach, których można używać do zarządzania dokumentami LibreOffice.
Przed użyciem usługi FormDocument należy załadować lub zaimportować bibliotekę ScriptForge:
Instancję usługi FormDocument można utworzyć, wywołując metodę OpenFormDocument, która istnieje zarówno w usługach Base, jak i Database.
Poniższy przykład wykorzystuje usługę UI do otwarcia dokumentu Base, a następnie pobrania dokumentu formularza. Należy pamiętać, że w tym przykładzie zarówno dokument Base, jak i dokument formularza zostaną otwarte i wyświetlone na ekranie.
    Dim ui As Object, oBase As Object, oFormDoc As Object
    ui = CreateScriptService("UI")
    oBase = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    oFormDoc = oBase.OpenFormDocument("MyFormDocument")
    ' ...
    oFormDoc.CloseDocument()
  Poniższy przykład wykorzystuje usługę Database do otwarcia dokumentu formularza. W takim przypadku plik Base nie zostanie otwarty i wyświetlony zostanie jedynie dokument formularza.
    Dim oDatabase As Object, oFormDoc As Object
    oDatabase = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    oFormDoc = oDatabase.OpenFormDocument("MyFormDocument")
  Wywołanie OpenFormDocument dla dokumentu formularza, który jest już otwarty, aktywuje okno dokumentu i ustawia jego fokus.
Powyższe przykłady można przetłumaczyć na język Python w następujący sposób:
    ui = CreateScriptService("UI")
    baseDoc = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    formDoc = baseDoc.OpenFormDocument("MyFormDocument")
    # ...
    formDoc.CloseDocument()
  
    database = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    formDoc = database.OpenFormDocument("MyFormDocument")
  | Lista metod w usłudze FormDocument | ||
|---|---|---|
Zamyka dokument formularza, do którego odwołuje się instancja FormDocument. Zwraca wartość True, jeśli dokument formularza został pomyślnie zamknięty.
svc.CloseDocument(): bool
    oFormDoc.CloseDocument()
  
    formDoc.CloseDocument()
  Zwraca tablicę z nazwami głównych formularzy zawartych w dokumencie formularza lub instancję usługi Form odwołującą się do konkretnego formularza.
Wywołaj tę metodę bez argumentów, aby uzyskać tablicę ciągów o wartości zerowej zawierającą nazwy wszystkich formularzy zawartych w dokumencie formularza.
Podaj nazwę formularza lub indeks jako argument, aby uzyskać instancję usługi Form odpowiadającą określonemu formularzowi.
Dokument formularza ma co najmniej jeden formularz główny. Bardziej złożone dokumenty formularzy mogą składać się z więcej niż jednego formularza i formularzy podrzędnych.
svc.Forms(): str[0..*]
svc.Forms(form: str): svc
svc.Forms(form: int): svc
form: argumentem tym może być ciąg znaków zawierający nazwę formularza istniejącego w dokumencie formularza lub indeks liczony od zera formularza, który ma zostać zwrócony. Jeśli argument ten nie jest konkretny, zwracana jest tablica z nazwami wszystkich dostępnych formularzy.
Poniższy przykład sprawdza, czy dokument formularza zawiera formularz o nazwie "MainForm":
    arrForms = oFormDoc.Forms()
    If SF_Array.Contains(arrForms, "MainForm") Then
        ' ...
    End If
  Poniższy przykład pobiera formularz o nazwie "MainForm" i przenosi go do ostatniego rekordu:
    Dim oForm As Object
    oForm = oFormDoc.Forms("MainForm")
    oForm.MoveLast()
  
    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  
    form = formDoc.Forms("MainForm")
    form.MoveLast()
  Więcej informacji na temat metod i właściwości formularzy znajdziesz na stronie pomocy usługi Form.
Ta metoda wysyła dokument formularza zawartości do drukarki domyślnej lub do drukarki zdefiniowanej przez metodę SetPrinter().
Zwraca wartość True, jeśli dokument został pomyślnie wysłany do drukarki.
svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool
pages: strony do wydrukowania jako ciąg znaków. Argument ten należy podać analogicznie jak w interfejsie użytkownika (patrz okno dialogowe ). Przykład: "1-4;10;15-18". Wartość domyślna to pusty ciąg znaków "", który spowoduje wydrukowanie wszystkich stron.
copies: liczba kopii do wydrukowania (domyślnie = 1).
printbackground: określa, czy obraz tła powinien być drukowany (domyślnie = True).
printblankpages: określa, czy mają być drukowane puste strony (domyślnie = False).
printevenpages: określa, czy mają być drukowane strony parzyste (domyślnie = True).
printoddpages: określa, czy mają być drukowane strony nieparzyste (domyślnie = True).
printimages: określa, czy obrazy mają być drukowane (domyślnie = True).
    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
    formDoc.PrintOut("1-4", copies = 2, printbackground = False)