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
  
Ícone da dica

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

Ícone de nota

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 LibreOfficeDev 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 e outras semelhantes — estão disponíveis de duas formas diferentes:

Utilize - LibreOfficeDev - Geral para alternar entre um e outro.

Ícone da dica

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.

Necessitamos da sua ajuda!

Necessitamos da sua ajuda!