LibreOfficeで、マクロを作成する情報が、現在のところ最も入手しやすいのは、StarBasicとVBA互換モードです。
マクロを使用するために必要な設定
マクロセキュリティを変更し、マクロを実行できるようにする。
マクロは、インストールしたままの設定では利用できません。これは、悪意のあるマクロが含まれた文書を配布することで、利用者に気が付かれないまま、そのマクロが含まれた文書が、コンピュータを操作することを防ぐためです。使用する際は、マクロセキュリティ設定を変更する必要があります。
VB互換モードやVBA互換モードを有効にする
LibreOfficeでも、Libreofficeの操作からマクロコード生成する機能のマクロの記録は利用できます。しかし、インストール時には、無効になっているので、オプションで有効にする必要があります。
LibreOfficeで、マクロの記録を有効にする
LibreOfficeでも、Libreofficeの操作からマクロコード生成する機能のマクロの記録は利用できます。しかし、インストール時には、無効になっているので、オプションで有効にする必要があります。
- LibreOfficeで、マクロの記録を有効にする
LibreOfficeは、初期状態では、マクロの記録が有効になっていません。マクロの記録を利用するためには、設定を変更する必要があります。
LibreOfficeで、Microsoft OfficeのVBAで作成したコードを読み込む
Microsoft Officeで作成したVBAコードをLibreofficeで読み込むためには、「読み込みと保存の項目」で、VBA属性を指定する必要があります。Microsoft Officeで作成したVBAコードは、そのままでは、Libreofficeで実行できないことが多いと言われています。
- 読み込みと保存で、VBA属性を確認する[LibreOfficeマクロ]
マクロで処理する手順を考える
マクロやプログラムを作成したことがないと、やりたいことをマクロで実現しやすい手順に分割して考えるところで困ってしまいます。
ワープロソフトのWriter、表計算アプリケーションのcalcで、マクロを作成する際には、以下の2つの操作で考えます。
- 位置を指定する
- 作業する
しかし、ファイル操作は、この2つの操作に該当しないので、別の考え方が必要です。複数人で1つの文書を扱う場合は、書き込む瞬間以外は、読み取り専用で操作すると、他の人が文書を使っていて修正できない状況を避けることができます。
マクロで実現する操作を、マクロで実現しやすい操作に分割して考えることが大切です。
そして、マクロ言語部分とLibreOffice文書に関連する部分を分けて考えることも、単純に考えるためには、大切です。
Libreoffice Basic言語部分の知識
プログラムの制御構文、変数や演算子など、Basicマクロ言語として、共通に利用されてる知識やルールがあります。一般のプログラミング言語では、これらの知識を把握するところから始める必要があります。
しかしマクロでは、それぞれの文書に特有の機能を単純に利用するだけの場合が多くあります。
プログラムとして機能する複雑なマクロの作成を始めるまでは、言語部分の知識の理解は、後回しにしても良いと思います。
マクロを作成する
- LibreOffceのマクロ・エディタを起動する
LibreOffceのマクロは、文書ファイルの中に格納します。新しくマクロを作成するために、マクロ・エディタを使用します。
- LibreOffice Basic エディタで、モジュールを追加する
LibreOffice Basic エディタで、モジュールを追加します。コンパイラオプションは、モジュールごとに指定する必要があるため、異なるコンパイラオプションを使用したいときは、異なるモジュールを使用する必要があります。
- LibreOffice Basic Helpを利用する
LibreOffice BasicのコマンドやAPIで不明な機能は、LibreOffice Basicのヘルプ・サイトから、確認する必要があります。
サンプルプログラム
Libreoffice Basic言語部分の知識
プログラムの制御構文、変数や演算子など、Basicマクロ言語として、共通に利用されてる知識やルールがあります。一般のプログラミング言語では、これらの知識を把握するところから始める必要があります。
Basicマクロで、Calc文書を操作する
Officeアプリケーションのマクロの情報は、表計算ソフトについての情報が最も多いです。
LibreOffice Calcも同様に、インターネット上のマクロに関する情報は、Calcのものが多く紹介されています。
Basicマクロで、Witer文書を指定する
Writerで使用するマクロは、主に文書の入力作業の軽減と推敲の支援、レイアウトの統一することを目的に作成します。