【LibreOffice Calc】在庫管理フォームのマクロをBasicで組んでみた③ダイアログボックスをボタンで表示させる

素人がLibreOffice Calcで在庫管理フォームのマクロをBasicで組んでみた過程をまとめます。

必要な情報はGoogle検索だけで集めました。

今回は前回作成したダイアログボックスをボタンを押すことでシート上に表示されるようにします。

スポンサーリンク

ダイアログボックスを表示させるコード

まずはダイアログボックスを表示させるコードを書いていきます。

コードを書くのは「Module1」と言う所になります。

以下のコードを記述します。

Sub Main

Dim mobjDialog1 As Object

DialogLibraries.LoadLibrary(“Standard”)
mobjDialog1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
mobjDialog1.execute()

End Sub

これでダイアログボックスが表示されます。

試してみましょう。

実行ボタンを押します。

するとダイアログボックスが出てきます!

シート上でも試してみます。

ツール → マクロ → マクロを実行の順に選択します。

ダイアログボックス表示のサブルーチン名はデフォルトの「Main」なので選択して実行を押します。

するとシート上でもダイアログボックスが出てくるはずです。

ちなみにシート上ではじめてマクロを実行しようとした時以下の様なポップアップが出てくるかもしれません。

ちょっと焦りますが、落ち着いてJavaをインストールすれば問題なし。

Javaのインストールはこちらから。

ダイアログボックスを表示させるボタンの作成

次にダイアログボックスを表示させるボタンをシート上に作成します。

ボタンの作成は図形をボタンにする方法とプッシュボタンを使う方法の二通りあるのでそれぞれ説明します。

図形をボタンにする

挿入 → シェイプ → 基本シェイプ → 長方形の順に選択します。

適当な場所に設置して名前も付けてやります。今回は在庫管理フォームという名前にしました。

このままでは何も機能しないただの長方形でなので、マクロを登録してやらねばなりません。

ボタン上で右クリックしてマクロの割り当てを選択します。

ダイアログボックス表示のサブルーチン「Main」を選択して割り当てを押してOK。

これでこのボタンを押すとダイアログが開くようになります!

プッシュボタンを使う

表示 → ツールバー → フォームコントロールの順に選択します。

プッシュボタンマークをクリックして…

適当な場所に設置します。

プッシュボタン上で右クリックしてコントロールのプロパティを開きます。

全般タブタイトルで名前を変更できます。

次にイベントタブへ移動してマクロの紐づけを行います。

実行時の「…」 → 実行時 → マクロ → マクロ名(今回はMain) → OKの順に選択します。

マクロの割り当てもできたし完成!と思ってプッシュボタンを押してもダイアログが出てきません…

なぜかプッシュボタンが選択されるばかりです…

その原因はデザインモード中だからです。

デザインモードを解除しましょう。

これでプッシュボタンからダイアログを表示できるようになりました!

在庫管理フォームのマクロをBasicで組んでみたまとめこちら。


コメント

タイトルとURLをコピーしました