Conteúdo

# 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

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

Tópicos relacionados

Função CreateUnoServiceWithArguments

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

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

Necessitamos da sua ajuda!