Função CreateUnoService

Instancia um serviço 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 obter uma lista dos serviços disponíveis, visite a página de referência do módulo com::sun::star.


Exemplo:

O exemplo abaixo cria a função FileExists, que utiliza o serviço com.sun.star.ucb.SimpleFileAccess para verificar se um determinado caminho corresponde a um ficheiro 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
  
Í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 SimpleFileAccess 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.ui.dialogs.FilePicker para apresentar uma caixa de diálogo de abertura de ficheiros:


Sub Main
   fName = FileOpenDialog ("Por favor selecione um ficheiro")
   Print "ficheiro escolhido: "+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
Necessitamos da sua ajuda!

Necessitamos da sua ajuda!