素人がLibreOffice Calcで在庫管理フォームのマクロをBasicで組んでみた過程をまとめます。
必要な情報はGoogle検索だけで集めました。
今回は前回作成したダイアログボックスをボタンを押すことでシート上に表示されるようにします。
ダイアログボックスを表示させるコード
まずはダイアログボックスを表示させるコードを書いていきます。
コードを書くのは「Module1」と言う所になります。
以下のコードを記述します。
Dim mobjDialog1 As Object
DialogLibraries.LoadLibrary(“Standard”)
mobjDialog1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
mobjDialog1.execute()
End Sub
これでダイアログボックスが表示されます。
試してみましょう。
実行ボタンを押します。
するとダイアログボックスが出てきます!
シート上でも試してみます。
ツール → マクロ → マクロを実行の順に選択します。
ダイアログボックス表示のサブルーチン名はデフォルトの「Main」なので選択して実行を押します。
するとシート上でもダイアログボックスが出てくるはずです。
ちなみにシート上ではじめてマクロを実行しようとした時以下の様なポップアップが出てくるかもしれません。
ちょっと焦りますが、落ち着いてJavaをインストールすれば問題なし。
Javaのインストールはこちらから。
ダイアログボックスを表示させるボタンの作成
次にダイアログボックスを表示させるボタンをシート上に作成します。
ボタンの作成は図形をボタンにする方法とプッシュボタンを使う方法の二通りあるのでそれぞれ説明します。
図形をボタンにする
挿入 → シェイプ → 基本シェイプ → 長方形の順に選択します。
適当な場所に設置して名前も付けてやります。今回は在庫管理フォームという名前にしました。
このままでは何も機能しないただの長方形でなので、マクロを登録してやらねばなりません。
ボタン上で右クリックしてマクロの割り当てを選択します。
ダイアログボックス表示のサブルーチン「Main」を選択して割り当てを押してOK。
これでこのボタンを押すとダイアログが開くようになります!
プッシュボタンを使う
表示 → ツールバー → フォームコントロールの順に選択します。
プッシュボタンマークをクリックして…
適当な場所に設置します。
プッシュボタン上で右クリックしてコントロールのプロパティを開きます。
全般タブのタイトルで名前を変更できます。
次にイベントタブへ移動してマクロの紐づけを行います。
実行時の「…」 → 実行時 → マクロ → マクロ名(今回はMain) → OKの順に選択します。
マクロの割り当てもできたし完成!と思ってプッシュボタンを押してもダイアログが出てきません…
なぜかプッシュボタンが選択されるばかりです…
その原因はデザインモード中だからです。
デザインモードを解除しましょう。
これでプッシュボタンからダイアログを表示できるようになりました!
在庫管理フォームのマクロをBasicで組んでみたまとめはこちら。
コメント