先日LibreOfficeでVBAを使うことができるという記事を出させていただきました。
まだ、ちょっとしか試していませんが、Microsoft OfficeがなくてもVBAを実際に使うことができることを私自身も確認できました。
先日の記事では、マクロを動作させるのに、「ツール」→「マクロの実行」→「実際に動作させるマクロを選択する」という工程が必要でしたが、この作業がめんどくさいと感じ、もっと簡略化できないということを試してみましたので紹介させていただきます。
ボタンでマクロを動作させる
マクロを簡単に動作させる方法として、Microsoft Excelではプッシュボタンで動くようにする方法が一般的だと思いますが、同じようなことがLibreOfficeの表計算ソフトウェアCalcでもできないか試してみてできることを確認しました。
今回紹介させていただく内容は
- ボタンを押すとメッセージボックスでHelloを表示させる
- ボタンを押すとA1セルに100を表示させる
- ボタンを押すとA1セルを空にする
です。
前準備
前準備として「マクロを動作させるプログラムの記載」と「ボタンの配置」を行います。
マクロを動作させるプログラムの記載
先日の記事でも紹介しましたが、Calcでマクロを作成するには、Calcを起動後に以下の手順でプログラムを記述するエディタを起動します。
- ツールタブを選択
- マクロを選択
- マクロの管理を選択
- Basicマクロを選択
そして、メッセージボックスでHelloと表示させるマクロは以下のように記述します。
MsgBox "Hello"
ここでは、プロシージャ名はMainとしています。
次に、A1セルに100を表示させるマクロは以下のように記述します。
Range("A1") = 100
ここでは、プロシージャ名はmain1としています。
最後に、A1セルを空にするマクロは以下のように記述します。
Range("A1").clear
ここでは、プロシージャ名はmain2としています。
ボタンの配置
各マクロを動作させるためのボタンを配置します。
ボタンは以下の手順で配置します。
- 挿入
- シェイプ
- 基本シェイプ
- 長方形
今回は3つのマクロを動作するようにしますので、上記手順で3つの長方形を配置ます。そして配置した長方形にそれぞれ適当な文字を入力して、どれがどのマクロを動作するようにするかがわかるようにします。
1番上のボタンには「Hello」と記述しました。このボタンを押すとメッセージボックスでHelloと表示させるように設定します。
上から2番目のボタンには「100を出す」と記述しました。このボタンを押すとA1セルに100が表示されるように設定します。
1番下のボタンには「100を消す」と記述しました。このボタンを押すとA1セルを空、すまわち記載されていたものを消すように設定します。
ボタンにマクロを割り当てる
ボタンにマクロを割り当てる手順は以下のように行います。
- ボタンを右クリック
- マクロの割り当て
を選択します。上記作業を行うと以下の画面が出てきます。
マクロの割り当てが出てきたら、以下のように設定を行います。
- Module1を選択する
- 割り当てたいマクロを選択する
- 割り当てを押す
でOKをクリックします。これによりボタンを左クリックすることで、割り当てたマクロが起動するようになります。
上記設定を行いそれぞれのボタンに対し、動作させたいマクロを割り当てます。
- 1番上のボタンにMainプロシージャを割り当てる
- 上から2番目のボタンにmain1プロシージャを割り当てる
- 1番下のボタンにmain2プロシージャを割り当てる
実際にボタンでマクロを動作させる
1番上のボタンを押す(左クリック)とメッセージボックスでHelloと表示されることを確認できました。
次に、上から2番目のボタンを押すと以下のようになります。
A1セルに100が表示されることを確認しました。
では、最後に1番下のボタンを押してみます。
A1セルの100が消えることを確認しました。
まとめ
LibreOfficeの表計算ソフトウェアCalcでもボタンを押すことでマクロを動作させることができる手順について紹介させていただきました。
思ったより簡単に設定ができました。今後もう少し手の込んだマクロも試してみたいと思います。
この記事を最後までお読みいただきありがとうございました。