Instantiates a Uno service with the ProcessServiceManager.
oService = CreateUnoService( UNO service name )
For a list of available services, visit the com::sun::star Module reference page.
The example below creates the function FileExists that uses the service com.sun.star.ucb.SimpleFileAccess to test if a given path is an existing file.
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
UNO services have an extensive online documentation in the api.libreoffice.org website. Visit the SimpleFileAccess Service reference page to learn more about the methods provided by the service used in the example above.
The following code uses the service com.sun.star.ui.dialogs.FilePicker to show a file open dialogue box:
Sub Main
fName = FileOpenDialog("Please select a file")
Print "file chosen: "+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