Libreofficeで「VBA」を使う時に知っておきたいいくつかのポイント

いまさらですがlibreofficeでVBAが使えることを知り、喜んでいます。これならエクセルのソフトをもっていなくても練習ができますね。

スポンサーリンク

LibreofficeでVBAを使う方法

libreofficeではマクロはモジュールという単位で管理されています。ワークブックがもつモジュールとlibreoffice事体がもつモジュールもあるようです。エディターでマクロを書いていきそれがモジュールになります。モジュールにメソッドを書いていくような感じになります。

Libreofficeでモジュールを作成する

libreoffice

  1. 実際にモジュールを確認するには「ツール」→「マクロ」→「マクロの管理」へと進みます。
  2. そこからさらにマクロ(モジュール)を編集したいならば{編集ボタン}
  3. 逆にモジュールを削除したいならば{管理ボタン}をクリックして進みます

この画像を例にとると「test」がモジュールです。右に表示されているのはモジュールの中のメソッドです。(マクロです)最初はわかりにくいとおもいますが、慣れるとわかりやすいですね。たしかエクセルもこんな感じだったかと思います。

Libreofficeの標準マクロは「Basic」だけど・・・

libreofficeではvbaではなくbasicといものを使っているようです。あまり詳しくないので、豆知識として。マイクロソフトのエクセルで作成したVBAのコードはそのままでは使用することができません。やり方は後述します。

Libreofficeで実際にVBAを使う手順

  1. JRE(JAVA)をインストールする。
  2. エディターで先頭行に、「Option VBASupport 1」を記述する。
  3. うまくいかなかったらマクロのセキュリティレベルを下げる

ポイントはこの3つになります。

JREとはjavaの実行環境になります。JREの入手先は下記のサイトです。
無料Javaソフトウェアをダウンロード

3番の「セキュリティレベルを下げる」下記のメニューをさがします。

「ツール」→「オプション」→{セキュリティ}→{マクロセキュリティ}

最初はlibreofficeを閉じたり開いたりしないといけないと思いますが、3つのポイントさえ押さえていればなんとかなると思います。

LibreofficeでVBAを使うとおこる問題

LibreofficeでVBAを使用すると、プログラムの実行速度が遅いという情報があります。わたし自身もためしてみましたが、行を値で埋めるプログラムを実行するとlibreofficeが固まって動かなくなりました。

また、VBAコードで完全に動作しないコードもやはりあります。

ちょっとした問題ははありますが、vbaを手軽に使えるのはいいですね。もしくはpythonやjavascriptを使うこともできるようですが、vbaが一通り終わったら、libreofficeでpythonを使う記事を書きたいところです。それでは。

コメント

タイトルとURLをコピーしました