非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

LibreOfficeマクロでBeanShellが使えるとは驚いた

      2016/06/28

[ad#top-1]

Javaをスクリプト言語として扱うことができるBeanShellですが、当初はJavaがスクリプト言語に参入したことに対しては、あまり良いイメージを持っていませんでした。JavaScript, PHP, Rubyとメジャーが根強く存在しているし、ここに来てGo言語が現れるなど、今さらJavaが後発で来たところで、誰も見向きしないだろうと。あんまり興味なかったんですね。

ところが、久々にLibreOfficeをインストールしたところ、なんとマクロ言語としてBeanShellがサポートされているじゃないですか。これには驚きました。たしかにマクロ言語だったらアリかもしれない、と思い、ちょっと触ってみました。

 

BeanShellマクロはJREのインストールが必要

メニューバーから「ツール」-「マクロ」-「マクロの管理」-「BeanShell」を選択すると・・・。

1

 

JREをインストールするよう促されます。OracleのWebサイトから最新のJavaをインストールしましょう。インストール後、パソコンを再起動し、改めてLibreOfficeを起動します。

2

 

マクロエディタを開く

Javaインストール後、上記と同じ手順で進むと以下の画面になります。「マイマクロ」を選択した状態で「作成」ボタンを押します。

3

 

以下のようなウィンドウが現れるので、任意のライブラリ名を指定します。とりあえず、デフォルトの「Library1」のままにしました。

4

 

そうすると、以下のように「マイマクロ」の直下に「Library1」が現れます。それを選択した状態で、再度「作成」ボタンを押します。

5

 

今度はマクロ名を聞いてきますので、任意の名称を指定します。ここではやはりデフォルトの「Macro1」のままにしました。

6

 

すると、以下のように「Library1」直下に「Macro1.bsh」が現れます。これを選択した状態で、「編集」ボタンを押してください。

7

 

以下の通り、BeanShell用のマクロエディタが現れます。

8

 

簡単なプログラムを作ってみる

マクロエディタの「Clear」ボタンを押すと、エディタ内がまっさらになります。ここにコーディングしていきます。

9

 

とりあえず、今回はお試しということで、以下のように単純なメッセージボックスを出現させることにしました。

JOptionPane.showMessageDialog(new JFrame(), “Test Message”);

 

d

 

エディタの「Run」ボタンを押して、以下のようなメッセージボックスが現れたら成功です。

a

 

スプレッドシート(Calc)からマクロを起動する

Excelと同じく、スプレッドシートにボタンを設けて、それをクリックしたタイミングでマクロを動かすこともできます。

まずは、図形描画で適当な図形を描画します。

e

 

次に、この図形にマクロを割り当てます。右クリックし「マクロの割り当て」を選択します。

b

 

下段のボックスから起動したいマクロを選択し、右上の「割り当て」ボタンを押せばOKです。「OK」ボタンを押してこのウィンドウを閉じてください。

c

 

それでは、マクロを割り当てた図形をクリックしましょう。

e

 

メッセージボックスが現れました。成功です。

a

 

まだ序の口ですが、これから少し触ってみて、LibreOffice上のBeanShellにどこまで実力があるか試していきたいと思います。

[ad#ad-1]

 

スポンサーリンク

 - LibreOffice/マクロ