Inhalte

# Funktion CreateUnoServiceWithArguments

Instanziiert einen UNO-Dienst mit dem ProcessServiceManager, einschließlich ergänzender optionaler Argumente.

### Syntax:

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

UNO-Dienste, die mit der Funktion CreateUnoServiceWithArguments verwendet werden können, sind anhand von Methodennamen erkennbar, die einem Namensmuster createInstanceWith.. oder createWith.. folgen.

### Rückgabetyp:

Objekt

Eine Liste der verfügbaren Dienste finden Sie auf der Referenzseite com::sun::star Module.

### Parameter:

Name | Typ | Beschreibung
--- | --- | ---
ServiceName | String | Der zu erstellende UNO-Dienstname.
Arguments | Variant | Ein bis viele Argumente, welche die Instanz des Dienstes angeben. Arguments werden entsprechend ihrer Position in der Definition der Konstruktormethode als eindimensionale Matrix gespeichert.

### Beispiel:

Das folgende Beispiel com.sun.star.ui.dialogs.FilePicker zeigt einen integrierten LibreOffice-Dialog Speichern unter mit zwei zusätzlichen Steuerelementen: einem Listenfeld und einem Markierfeld.

        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

Dateidialoge wie Öffnen, Speichern unter, Text einfügen und so weiter sind auf zwei verschiedenen Wegen erreichbar:

- Als native Dateiauswahldialoge des Fenstermanagers Ihres Betriebssystems.

- Als integrierte LibreOffice-Dateiauswahldialoge.

Wählen Sie LibreOffice – Einstellungen Extras – Optionen… – LibreOffice – Allgemein um den Dateiauswahldialog zu wechseln.

UNO-Dienste verfügen über eine umfangreiche Online-Dokumentation auf der Website api.libreoffice.org. Besuchen Sie die Referenzseite zum Dienst FilePicker, um mehr über die Methoden zu erfahren, die von dem im Beispiel oben verwendeten Dienst bereitgestellt werden.

### Beispiel:

Der folgende Code verwendet den Dienst com.sun.star.security.DocumentDigitalSignatures, um das aktuelle Dokument zu signieren:

    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

Die Konstruktormethoden CreateWithVersion und createWithVersionAndValidSignature im UNO-Dienst com.sun. star.security.DocumentDigitalSignatures geben zwei verschiedene Möglichkeiten an, diesen Dienst mit der Funktion CreateUnoServiceWithArguments zu instanziieren.

Verwandte Themen

Funktion CreateUnoService

UNO-Objekte, -Funktionen und -Dienste

Calc-Funktionen in Macros verwenden