いまさらですがlibreofficeでVBAが使えることを知り、喜んでいます。これならエクセルのソフトをもっていなくても練習ができますね。
LibreofficeでVBAを使う方法
libreofficeではマクロはモジュールという単位で管理されています。ワークブックがもつモジュールとlibreoffice事体がもつモジュールもあるようです。エディターでマクロを書いていきそれがモジュールになります。モジュールにメソッドを書いていくような感じになります。
Libreofficeでモジュールを作成する
- 実際にモジュールを確認するには「ツール」→「マクロ」→「マクロの管理」へと進みます。
- そこからさらにマクロ(モジュール)を編集したいならば{編集ボタン}
- 逆にモジュールを削除したいならば{管理ボタン}をクリックして進みます
この画像を例にとると「test」がモジュールです。右に表示されているのはモジュールの中のメソッドです。(マクロです)最初はわかりにくいとおもいますが、慣れるとわかりやすいですね。たしかエクセルもこんな感じだったかと思います。
Libreofficeの標準マクロは「Basic」だけど・・・
libreofficeではvbaではなくbasicといものを使っているようです。あまり詳しくないので、豆知識として。マイクロソフトのエクセルで作成したVBAのコードはそのままでは使用することができません。やり方は後述します。
Libreofficeで実際にVBAを使う手順
- JRE(JAVA)をインストールする。
- エディターで先頭行に、「Option VBASupport 1」を記述する。
- うまくいかなかったらマクロのセキュリティレベルを下げる
ポイントはこの3つになります。
JREとはjavaの実行環境になります。JREの入手先は下記のサイトです。
無料Javaソフトウェアをダウンロード
3番の「セキュリティレベルを下げる」下記のメニューをさがします。
「ツール」→「オプション」→{セキュリティ}→{マクロセキュリティ}
最初はlibreofficeを閉じたり開いたりしないといけないと思いますが、3つのポイントさえ押さえていればなんとかなると思います。
LibreofficeでVBAを使うとおこる問題
LibreofficeでVBAを使用すると、プログラムの実行速度が遅いという情報があります。わたし自身もためしてみましたが、行を値で埋めるプログラムを実行するとlibreofficeが固まって動かなくなりました。
また、VBAコードで完全に動作しないコードもやはりあります。
ちょっとした問題ははありますが、vbaを手軽に使えるのはいいですね。もしくはpythonやjavascriptを使うこともできるようですが、vbaが一通り終わったら、libreofficeでpythonを使う記事を書きたいところです。それでは。
コメント