Ajuda do Collabora Office 24.04
Instancia um serviço UNO com o ProcessServiceManager, incluindo argumentos opcionais suplementares.
CreateUnoServiceWithArguments(ServiceName As String, Arguments() As Variant) As Object
Os serviços UNO que podem ser usados com a função CreateUnoServiceWithArguments são identificáveis com nomes de métodos que seguem um padrão de nomenclatura createInstanceWith.. ou createWith...
ServiceName: O nome do serviço UNO a ser criado.
Argumentos: Um pra muitos argumentos que especificam a instância do serviço. Argumentos são armazenados como um array unidimensional, de acordo com suas posições na definição do método construtor.
Uma instância do nome de serviço UNO fornecido, caso contrário, valor Null.
Para obter uma lista de serviços disponíveis, visite a página de referência do com::sun::star Module.
O exemplo abaixo com.sun.star.ui.dialogs.FilePicker exibe uma caixa de diálogo Salvar como com dois controles extras: uma lista de opções 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))
End Sub ' FileSaveAsDialog
Os serviços UNO têm uma extensa documentação on-line no site api.libreoffice.org. Visite a página de referência do Serviço FilePicker para saber mais sobre os métodos fornecidos pelo serviço usado no exemplo acima.
O código a seguir usa 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
Métodos construtores CreateWithVersion e createWithVersionAndValidSignature em com.sun. star.security.DocumentDigitalSignatures O serviço UNO indica duas formas diferentes de instanciar este serviço com a função CreateUnoServiceWithArguments.