Função CreateUnoService

Instanciar um serviço de Uno com o ProcessServiceManager.

Sintaxe:


     CreateUnoService(serviceName As String) As Object
  

Tipo de retorno:

Objeto

Parâmetros:

Nome

Tipo

Descrição

serviceName

String

O nome do serviço.

Para uma lista de serviços disponíveis, consulte a página de referência: com::sun::star Module.


Exemplo:

O exemplo abaixo cria a função FileExists que utiliza o serviço com.sun.star.ucb.SimpleFileAccess para testar se um caminho informado é um arquivo existente.


    Function FileExists(sPath as String) As Boolean
        Dim svcSFA As Object
        Set svcSFA = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
        Dim bExists As Boolean : bExists = svcSFA.exists(sPath)
        Dim bIsFolder As Boolean : bIsFolder = svcSFA.IsFolder(sPath)
        FileExists = bExists And Not bIsFolder
    End Function ' FileExists
  
tip

Os serviços UNO têm uma extensa documentação online no website api.libreoffice.org. Acesse a página de referência para aprender mais sobre os métodos fornecidos pelo serviço utilizado no exemplo acima: SimpleFileAccess Service.


Exemplo:

O código a seguir utiliza o serviço com.sun.star.ui.dialogs.FilePicker para mostrar uma caixa de diálogo para abrir um arquivo:


Sub Main
   fName = FileOpenDialog ("Selecione um arquivo")
   Print "arquivo selecionado: "+fName
End Sub
 
Function FileOpenDialog(title As String) As String
   res = com.sun.star.ui.dialogs.ExecutableDialogResults
   filepicker = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
   With filepicker
      .Title = title
      .MultiSelectionMode = True
      .appendFilter("Calc docs","*.ods;*.csv;*.123")
      .appendFilter("Writer or Base docs","*.odt;*.odb")
      .appendFilter("All files","*.*")
       If res.OK = .execute() Then 
          files = .getSelectedFiles()
          FileOpenDialog=files(0)
       EndIf
   End With
End Function ' FileOpenDialog

♥ Doe para nosso projeto! ♥