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.

Os serviços do UNO dispõem de uma extensa documentação online no site api.libreoffice.org. Visite a página de referência do Serviço FilePicker para saber mais sobre os métodos disponibilizados pelo serviço utilizado no exemplo acima.

### 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

Objetos, funções e serviços do UNO

Utilização de funções do Calc em macros

Necessitamos da sua ajuda!