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
  
tip

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

note

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 i tym podobne – są dostępne na dwa różne sposoby:

Użyj - LibreOffice - Ogólne, aby przejść z jednego do drugiego.

tip

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.

Prosimy o wsparcie!