LibreOffice(Calc)でのマクロ : 5. ダイアログの表示

ユーザー Mr. Union の写真
2014年6月24日 -- Mr. Union

LibreOffice Basicでダイアログを作る場合、まず「LibreOffice Basicマクロの管理」の画面を開きます。このウィンドウの上部に「ダイアログ」タブがあるので、これを選択すると、ダイアログの管理画面になります。

クリックで拡大します

ダイアログを新しく作りたい場合には、この状態で、「新規作成」ボタンをクリックします。ここでは、このファイルのダイアログとして作成するので、「無題1.ods」を選択してから「新規作成」ボタンをクリックします。

クリックで拡大します

すると、これから作成するダイアログの名前を設定するウィンドウが表示されます。ひとまず、デフォルトの「Dialog1」のままにしておいて、「OK」をクリックします。

クリックで拡大します

「無題1.ods」→「Standard」の下に、「Dialog1」が出来上がりました。これをアクティブにした状態で、編集ボタンをクリックすると、ダイアログの編集画面が現れます。

クリックで拡大します

下図が、ダイアログの編集画面です。中央に、これから編集するダイアログが表示されていて、下部にツールボックスが表示されています。このツールボックスを使って、ダイアログにテキストを入力するボックスや、ボタンなどを追加していくことになります。

クリックで拡大します

ツールボックスには、テキストボックスやチェックボックスなど、ダイアログに埋め込むパーツを示すボタンが並んでいます。ここではまず、テキストボックスを使ってみます。

クリックで拡大します

「テキストボックス」をクリックしたら、ダイアログ編集画面上で、テキストボックスを描けるようになります。適当な大きさにして、テキストボックスを作ってみましょう。

テキストボックスを作ったら、もう一つ、ボタンを作ってみます。同じくツールボックスの中に「ボタン」があるので、これをクリックし、ダイアログ編集画面上で、ボタンを描いていきます。

クリックで拡大します

作成されたボタンは、「CommandButton1」と表示されます。この表示を変更したい場合は、今作ったボタンをアクティブにした状態で、左側のウィンドウにある「タイトル」という項目を書き換えます。

クリックで拡大します

例 えば、タイトルを「入 力」とすれば、先ほど作ったボタンの表示も自動的に「入 力」に変更されます。ひとまず、ここまでできたら、ダイアログの 編集は終わらせてみましょう。次に、この作ったダイアログを表示させてみます。左側のウィンドウ「オブジェクトカタログ」から、「Module1」の編集 を行い、次のように入力してみます。

クリックで拡大します

Dim Dlg1 As Object ‘ 「Dlg1」をオブジェクト型の変数として宣言する。

Sub Test

DialogLibraries.LoadLibrary(“Standard”)

Dlg1=CreateUnoDialog(DialogLibraries.Standard.Dialog1) ‘ 「Dlg1」に、先ほど作った「Dialog1」を入れる。

Dlg1.Execute() ‘ 「Dlg1(Dialog1)」を表示させる。

End Sub

このようにしておいて、「Test」マクロを実行させると、以下のように、先ほど作ったダイアログが表示されます。

クリックで拡大します