Função CreateUnoService

Instanciar um serviço de Uno com o ProcessServiceManager.

Sintaxe:

oService = CreateUnoService( UNO service name )

tip

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
  
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 seguinte código utiliza o serviço com.sun.star.ui.dialogs.FilePicker para mostrar uma caixa de diálogo de abrir 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")
    filepicker.Title = title
    If res.OK = filepicker.execute() Then 
        files = filepicker.getSelectedFiles()
        FileOpenDialog=files(0)
    EndIf
End Function

♥ Doe para nosso projeto! ♥