Spis treści

# Funkcja CreateUnoServiceWithArguments

Tworzy instancję usługi UNO z ProcessServiceManager, włączając dodatkowe opcjonalne argumenty.

### Składnia:

        CreateUnoServiceWithArguments(ServiceName As String, Arguments() As Variant) As Object

Usługi UNO, których można używać z funkcją CreateUnoServiceWithArguments, można zidentyfikować za pomocą nazw metod zgodnych ze wzorcem nazewnictwa createInstanceWith.. lub createWith...

### Typ zwracany:

Obiekt

Listę dostępnych usług można znaleźć na stronie referencyjnej modułu com::sun::star.

### Parametry:

Nazwa | Typ | Opis
--- | --- | ---
ServiceName | String | Nazwa usługi UNO do utworzenia.
Argumenty | Variant | Jeden do wielu argumentów określających instancję usługi. Argumenty są przechowywane jako tablica jednowymiarowa, zgodnie z ich pozycją w definicji metody konstruktora.

### Przykład:

Poniższy przykład com.sun.star.ui.dialogs.FilePicker wyświetla wbudowane okno dialogowe LibreOffice Zapisz jako z dwoma dodatkowymi formantami: listą rozwijaną i polem wyboru.

        Sub FileSaveAsDialog()
           td = com.sun.star.ui.dialogs.TemplateDescription
           options = td.FILESAVE_AUTOEXTENSION_TEMPLATE
           dlg = CreateUnoServiceWithArguments( _
              "com.sun.star.ui.dialogs.FilePicker", _
              Array(options))
           dlg.execute()
        End Sub ' FileSaveAsDialog

Okna dialogowe plików – takie jak Otwórz, Zapisz jako, Wstaw tekst i tym podobne – są dostępne na dwa różne sposoby:

- Jako natywne okna dialogowe wyboru plików menedżera okien systemu operacyjnego.

- Jako wbudowane okna dialogowe selektora plików LibreOffice.

Użyj LibreOffice - Preferencje Narzędzia - Opcje - LibreOffice - Ogólne, aby przejść z jednego do drugiego.

Usługi UNO mają obszerną dokumentację online na stronie api.libreoffice.org. Odwiedź stronę referencyjną usługi FilePicker, aby dowiedzieć się więcej o metodach zapewnianych przez usługę użytą w przykładzie powyżej.

### Przykład:

Poniższy kod używa usługi com.sun.star.security.DocumentDigitalSignatures do podpisania bieżącego dokumentu:

    Sub  SignCurrentDocDialog
       Dim pv(0) as new com.sun.star.beans.PropertyValue
       pv(0).Name  = "StorageFormat"
       pv(0).Value = "ZipFormat"
       mode = com.sun.star.embed.ElementModes
       sf = CreateUnoService("com.sun.star.embed.StorageFactory")
       storage = sf.createInstanceWithArguments(Array(ThisComponent.URL, mode.WRITE, pv))
       dds = CreateUnoServiceWithArguments( _
          "com.sun.star.security.DocumentDigitalSignatures", _
          Array("1.2", True))
       dds.signDocumentContent(storage, Null)
    End Sub ' SignCurrentDocDialog

Metody konstruktora CreateWithVersion i createWithVersionAndValidSignature w usłudze UNO com.sun. star.security.DocumentDigitalSignatures wskazuje dwa różne sposoby tworzenia instancji tej usługi za pomocą funkcji CreateUnoServiceWithArguments.

Tematy pokrewne

Funkcja CreateUnoService

Obiekty, funkcje i usługi UNO

Korzystanie z funkcji Calc w makrach