Sumário

# 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

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

Tópicos relacionados

Função CreateUnoServiceWithArguments

Objetos UNO, funções e serviços

Chamar funções do Calc em Macros