LibreOffice calc Basic - ダイアログボックスを表示する方法

◆概要

 LibreOffice Calcでダイアログボックスを表示する方法です。LibreOffice BasicのダイアログボックスとはExcelのフォームと同じです。
まず、ダイアログボックスを準備します。メニューの「ツール(T)」-「マクロ(M)」-「ダイアログの管理(D)」をクリックして、無題1を選択してから「新規作成」ボタンをクリックします。
新しいダイアログという、ダイアログボックスが表示されますので適当な名前を入れます。ここでは、既定値のDialog1のままとして説明します。
LibreOffice Basicマクロの管理ダイアログボックスでモジュールタブを選択、無題1の+をクリック、Standardというところをクリックしてから、新規作成ボタンをクリックします。
新しいモジュール名ダイアログボックスが表示されます。今回は名前を既定値のModule1のままでOKをクリックしてください。Module1を選択して「編集」ボタンをクリック。表示された画面で以下のコードを入力します。

Sub ShowDiarog
Rem Dialogを表示する
       dim oDialog as object
       DialogLibraries.LoadLibrary("Standard")
       oDialog=CreateUnoDialog(DialogLibraries.Standard.Dialog1)
       oDialog.Execute()
       oDialog.Dispose()

end sub

できたマクロを実行するには、Calc画面に戻ってから、メニューの「ツール(T)」-「マクロ(M)」-「マクロの実行(U)」でShowDialogをクリックします。

◆ダイアログボックスをマクロから閉じるには
 表示したダイアログボックスにOKボタンを作成し、そのボタンに以下のマクロを割り当てます。
 この場合の注意点は、変数oDialgをPublic変数にしておく必要があります。

Public oDialog as object

Sub ShowDiarog
Rem Dialogを表示する
       DialogLibraries.LoadLibrary("Standard")
       oDialog=CreateUnoDialog(DialogLibraries.Standard.Dialog1)
       oDialog.Execute()
       oDialog.Dispose()
End Sub

Sub CloseDialog

rem Dialogを閉じる
    oDialog.endExecute()
end Sub


▼ページトップへ