Home > コンピュータ > LibreOffice > マクロ > ドキュメント > UNOオブジェクト、機能とサービス > CreateUnoService関数

CreateUnoService関数

新規作成日 2025-08-14
最終更新日

原文「CreateUnoService Function」の和訳。LibreOffice 25.2ヘルプより

原文取得日 2025-08-14

ProcessServiceManager を使用して、Uno サービスをインスタンス化します。

構文:

CreateUnoService(serviceName As String) As Object

利用可能なサービスのリストについては、com::sun::star モジュールのリファレンス ページを参照してください:

例:

次の例では、サービス com.sun.star.ucb.SimpleFileAccess を使用して、指定されたパスが、既存のファイルであるかどうかをテストする関数 FileExists を作成します。


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

UNO サービスについては、api.libreoffice.org Web サイトに広範なオンライン ドキュメントが用意されています。上記の例で使用されているサービスによって提供されるメソッドの詳細については、SimpleFileAccess サービスのリファレンス ページを参照してください。

例:

次のコードは、ファイル・オープン・ダイアログを表示するために、サービスcom.sun.star.ui.dialogs.FilePickerを使用します:


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 ' Main

関連項目

このエントリーをはてなブックマークに追加