CreateUnoService Function

ProcessServiceManager で Uno サービスのインスタンスを作成します。

Syntax:

oService = CreateUnoService( Uno service name )

For a list of available services, go to: https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star.html

Example:

Calling Calc functions in Basic:


    REM The code below does not work for add-in functions, which have a different calling procedure.
    Function MyVlook(item, InRange As Object, FromCol As Integer)
        Dim oService As Object
        oService = createUnoService("com.sun.star.sheet.FunctionAccess")
        REM Always use the function English name
        MyVlook = oService.callFunction("VLOOKUP",Array(item, InRange, FromCol, True))
    End Function

Example:

oIntrospection = CreateUnoService( "com.sun.star.beans.Introspection" )

以下のプログラムでは「ファイルを開く」ダイアログを開くサービスを使っています:


Sub Main
    fName = FileOpenDialog ("ファイルを選択してください")
    print "選択したファイル名:  "+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

ご支援をお願いします!