Obsah

# Funkce CreateUnoServiceWithArguments

Vytvoří instanci služby UNO se službou ProcessServiceManager, a to včetně dodatečných volitelných argumentů.

### Syntaxe:

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

Služby UNO, které je možné používat s funkcí CreateUnoServiceWithArguments, lze identifikovat pomocí názvů metod začínajících řetězci createInstanceWith.. nebo createWith...

### Návratový typ:

Object

Seznam dostupných služeb naleznete na stránce s popisem modulu com::sun::star.

### Parametry:

Název | Typ | Popis
--- | --- | ---
ServiceName | String | Název služby UNO, která se má vytvořit.
Arguments | Variant | Jeden či více argumentů pro instanci služby. Argumenty jsou uloženy jako jednorozměrné pole v pořadí odpovídajícím definici konstruktoru.

### Příklad:

V následujícím příkladu se službou com.sun.star.ui.dialogs.FilePicker se zobrazí v LibreOffice vestavěné dialogové okno Uložit jako se dvěma dodatečnými ovládacími prvky: polem se seznamem a zaškrtávacím polem.

        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

Souborové dialogy - například Otevřít, Uložit jako,Vložit text - jsou k dispozici ve dvou podobách:

- Jako nativní dialogová okna pro výběr souboru poskytovaná správcem oken operačního systému.

- Jako dialogová okna pro výběr souboru vestavěná v LibreOffice.

Z jedné podoby na druhou se přepnete pomocí LibreOffice - Předvolby Nástroje - Možnosti - LibreOffice - Obecné.

Služby UNO mají obsáhlou dokumentaci online na stránce api.libreoffice.org. Další informace o metodách služby použité v předchozím příkladu naleznete na stránce FilePicker Service.

### Příklad:

Následující kód využívá službu com.sun.star.security.DocumentDigitalSignatures pro podepsání aktuálního 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

Konstruktory CreateWithVersion a createWithVersionAndValidSignature služby UNO com.sun.star.security.DocumentDigitalSignatures představují dva různé způsoby vytvoření instance této služby pomocí funkce CreateUnoServiceWithArguments.

Související témata

Funkce CreateUnoService

Objekty, funkce a služby UNO

Použití funkcí Calcu v makrech

Podpořte nás!