今回の記事では、オープンソースのオフィスソフトとして人気のあるlibreoffice(リブレオフィス)でVBA・マクロを使用する方法を紹介します。
「libreofficeでVBA・マクロを使用するにはJRE(Java Runtime Environment )は必要なのか?」という問題がありますが、結論としてVBA・マクロだけならJREなしでも実行することが出来ます。
ただし、libreoffice Baseや一部の拡張機能を使う際にはJava開発環境が必要になります。
そこで今回は、次の流れで紹介していこうと思います。
1.JREなしでVBA・マクロを使用する方法
2.JREをインストールしてJavaオプションで指定する方法
1.JREなしでVBA・マクロを使用する方法
まず、libreofficeを起動したらツールバーの「ツール」→「オプション」の順で設定画面を開きます。

オプションの設定から「詳細」を選択 → 「Java実行環境を使用」のチェックボックスを外します。

ホームに戻って「ツール」→「マクロ」→「マクロの編集」を選択

マイマクロ&ダイアログが開くので「ツール」→「マクロの管理」→「Basic」を選択
※補足ですが、2020年5月17日現在では以下の環境を選択できるみたいです。
・Basic →libreofficeのデフォルト(VBAを使う際にはこれを選択)
・BeanShell →Java
・JavaScript
・Python

マクロを作成するodsファイルを選択して「新規作成」を選択
→新しいモジュールを作成

モジュールが追加されるのでVBA・マクロをモジュールに記述して作成します。

今回は例として「A列の1~10行目に番号を振る」というマクロを実行します。
実行したマクロのソースです。
Option VBASupport 1 ' VBAサポートを有効にする
Sub Main
Dim i As Integer
For i = 1 To 10
Range("A" & i ).Value = i ' A列i行目にiの値をセットする
Next
End Sub
ホーム画面に戻って、「ツール」→「マクロ」→「マクロの実行」を選択
→マクロセレクターのダイアログが開くので作成したマクロを選択して実行します。

うまく実行できました。

イベントに連動させる方法
「ツール」→「カスタマイズ」→「イベントタブ」から設定できます。
連動させるイベントを選択して、右側の割り当てから「マクロ」を選択します。
マクロセレクターダイアログからマクロを選択して「OK」を押せばイベントの設定は終了です。
※サーバーなどでマクロを自動的に実行できるようにするためにはいくつか設定しなければならいオプションがあります。詳細は下の記事で紹介しています。
【libreoffice】サーバーでVBA・マクロを使用するためのオプション設定

2.JREをインストールしてJavaオプションで指定する方法
続いてJREのインストールと設定です。
JREのダウロードは下記のURLから実行できます。
全オペレーティング・システム用のJavaのダウンロード
URLにアクセスすると、下のほうにWindowsとMac用のファイルが選択できるよになっています。

※Windows(64bit)なら一番下のWindowsオフライン(64bit)のインストーラーをダウンロードして実行すれば問題ないはずです。
うまくインストール出来てパスが通っていればコマンドプロンプトから”Java -version”で確認できます。(※パスが通っていない場合は環境変数から設定して下さい。)

インストールが出来たら、libreofficeを開いて「ツール」→「オプション」→「詳細」から「Java実行環境を使用」にチェックを入れれば完了です。
※JREは「詳細」を開くと自動で認識されるはずです。

参考になればうれしいです。
コメント