Libre Office Baseでマクロを使う方法〜まずは基本を解説〜

2022年9月19日

データベースソフトの肝の一つにフォームからフォームを開くというのがあります。このサイトで配布している無料の帳簿もファールをクリックしてマクロを有効化すると自動的にフォーム画面が開きますが、これもマクロのおかげです。

マイクロソフトでもそうなのですが、マクロって使わなくてもある程度のことができてしまいます。もっといえば便利に誓うことを意識しないのならマクロは使わなくてもいいです。ここで配布している帳簿だってマクロを使わずに普通にフォームファイルをクリックするなら、それはどれでできてしまいます。ただ、使うことができたらやはり便利なのです。マイクロソフトのものであればマクロなしでももっと幅広く色々できますがBaseの場合は、同じことをやるからマクロを使わないとできないこともあります。

ところが、Baseのマクロの設定については解説してくれているサイトも少ないのでも、今回はマクロを使う方法について解説します。

「ダイヤログの管理」でモジュールを追加する

「ツール」→「マクロ」→「ダイヤログの管理」と進みます。

ボックスが出てくるので、上の方にある「ジュール」を選択し、作成したファイルの中にある「Standard」というファイルを選択ます。下の例だと「帳簿2022test」というファイルを選択しています。「Standard」を選択したら新規作成をクリックします。名前をつけるように促されるので、分かりやすい名前を英語表記でつけましょう。

「帳簿2022tast」用のモジュールを作成してそこにマクロを入れていく準備をする

マクロを追加(編集)する

モジュールを追加したら編集ボタンをクリックします。もし「ダイヤログの管理画面を閉じてしまった場合には、「ツール」→「マクロ」から「マクロの編集」を選択すると同じ画面が開きます。

マクロ編集画面

マクロ編集画面が出ますので、左にある先ほど追加したモジュールを選択します。すると上の方に「Sub Main」下には「End Sub」という表記が自動的にされているのが分かります。これらはマクロの始まりと終わりを示す命令文です。つまりこの間にマクロを書いていくことになります。

マクロは数個書ける

マクロは数個書けます。同じ類のマクロをまとめると良いと思います。例えば一つのフォームを開くのに一つの幕が必要なので、開きたいフォームが数個ある場合はマクロが数個必要になります。”フォームを開閉する専門のモジュール”という感じで分けるといいと思います。

一つのモジュールに元帳を開くためのマクロをいくつか入れている

マクロ埋め込む

マクロを書き込んで埋め込む方法について書きます。例えばフォーム の中のボタンをクリックしたら別のフォームが開くようにする場合、フォームに設置したボタンのプロパティから「イベント」を選択し「実行時」の右の「…」をクリックします。

ボックスが出てくるので、「実行時」が選択されている状態で「マクロ」をクリックします。

作成したモジュールを選択すると、その中に入れたマクロが出てきます。複数ある場合は複数出てきます。ここでは解説していませんが、出てくるマクロ名はマクロの「Sub」の後に付けた名前です。

この中からマクロを選択すればOKです。

この例の場合はボタンクリック時なので「実行時」となりますがコンボボックスの場合は「テキストが変更された時」といったことになります。そこは自動的に出てきますので合ったものを選びましょう。

ちなみにマクロが間違っているとエラーになりますのでマクロを見直すことになります。指定したファイルが合ってるか、命令が合ってるかなど見直してみましょう。

SQLのエラーとは若干異なりますが、基本はにています。少しでも違うとエラーになりますがSQLよりは理由を教えてくれます(笑)

さいごに

簡単にまとめると作成しているBase用のモジュールを作成し、その中にマクロを作り、埋め込む。

そういうことです。

設定は比較的簡単で¥すよね。問題はマクロ自体なのですが、それはまた別記事に書きます。