Conteúdo

# Função CreateUnoServiceWithArguments

Instancia um serviço UNO com o ProcessServiceManager, incluindo argumentos opcionais adicionais.

### Sintaxe:

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

Os serviços UNO que podem ser utilizados com a função CreateUnoServiceWithArguments são identificáveis pelos nomes de métodos que seguem um padrão de nomenclatura createInstanceWith.. ou createWith...

### Tipo de retorno:

Objeto

Para obter uma lista dos serviços disponíveis, visite a página de referência do módulo com::sun::star.

### Parâmetros:

Nome | Tipo | Descrição
--- | --- | ---
Nome do serviço | String | O nome do serviço UNO a criar.
Argumentos | Variant | Argumentos do tipo «um para muitos» que especificam a instância do serviço. Os argumentos são armazenados como uma matriz unidimensional, de acordo com as suas posições na definição do método construtor.

### Exemplo:

O exemplo com.sun.star.ui.dialogs.FilePicker abaixo apresenta uma caixa de diálogo integrada LibreOffice Guardar como com dois controlos adicionais: uma caixa de lista e uma caixa de seleção.

        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

As caixas de diálogo de ficheiros — tais como Abrir, Guardar como, Inserir texto e outras semelhantes — estão disponíveis de duas formas diferentes:

- Tal como as caixas de diálogo nativas de seleção de ficheiros do gestor de janelas do seu sistema operativo.

- Tal como as caixas de diálogo integradas para selecionar ficheiros do LibreOffice.

Utilize LibreOffice - Preferências Ferramentas - Opções - LibreOffice - Geral para alternar entre um e outro.

UNO services have an extensive online documentation in the api.libreoffice.org website. Visit the FilePicker Service reference page to learn more about the methods provided by the service used in the example above.

### Exemplo:

O código seguinte utiliza o serviço com.sun.star.security.DocumentDigitalSignatures para assinar o documento atual:

    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

Os métodos construtores CreateWithVersion e createWithVersionAndValidSignature do serviço com.sun.star.security. DocumentDigitalSignatures indicam duas formas diferentes de instanciar este serviço com a função CreateUnoServiceWithArguments.

Tópicos relacionados

Função CreateUnoService

UNO Objects, Functions and Services

Using Calc Functions in Macros

Necessitamos da sua ajuda!