Hilfe für Collabora Office 23.05
Instanziiert einen UNO-Dienst mit dem ProcessServiceManager, einschließlich ergänzender optionaler Argumente.
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.
ServiceName: Der Name des zu erstellenden UNO-Dienstes.
Arguments: Ein bis viele Argumente, welche die Instanz des Dienstes angeben. Arguments werden als eindimensionale Matrix gespeichert, entsprechend ihrer Position in der Definition der Konstruktormethode.
Eine Instanz des angegebenen UNO-Dienstnamens, andernfalls ein Wert Null.
Eine Liste der verfügbaren Dienste finden Sie auf der Referenzseite com::sun::star Module.
Das Beispiel com.sun.star.ui.dialogs.FilePicker unten zeigt einen Dialog Speichern unter mit zwei zusätzlichen Steuerelementen: einem Listen- 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))
End Sub ' FileSaveAsDialog
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.
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.