コンピューターの用途は、計算だけでなく、データを収集管理することにも使用されています。
情報の入力は、現在でも、その多くは、人の手によって行う必要がありますが、入力した情報が適切かどうかを判断したり、入力された情報を加工、整理したりする場合は、コンピューターに自動で処理させたいという需要は、これからもなくなることは無いと思われます。
マクロとは
マクロとは、アプリケーションを手作業で操作する作業をマクロ言語で記述することです。一旦、マクロとして記述すれば、操作を記述したマクロを呼び出すだけで、何度も繰り返し同じことを行うことができます。マクロを使うことで、何度も繰り返し行う同じ操作や手順を一度に実行する事ができます。
どこまで、何を自動化できるか、どれくらいの時間でマクロを作成できるかは、マクロを作成する人の知識や技能に依存するため、自分が無理なく実現できる範囲と作業量を考えて、利用する必要があります。
LibreOfficeで利用できるマクロ言語
LibreOfficeマクロでは、複数の開発言語で記述できます。
- StarBasic
- VBA(VBA互換モード)
- BeanShell (JAVA)
- Javascript
- Python
LibreOfficeのそれぞれの動作が、ユニバーサル・ネットワーク・オブジェクト「Universal Network Objects」 (UNOオブジェクト)としてまとめられています。それぞれの開発言語とUNOオブジェクトは、UNOブリッジによって、接続されています。
そのため、UNOブリッジを新たに用意することで、さまざまな開発言語で操作できる柔軟性を持っており、マクロ言語だけでなく、LibreOffice SDKを使用することで、Java、python、C++、Visual BasicやC#などのCLI言語からもLibreOfficeを操作できます。
既に習得した開発言語でLibreOfficeが操作できる場合、言語を習得する時間を省略することができ、より短時間で作業自動化に取り組み始めることができます。
Libreoffice Basic言語部分の知識
プログラムの制御構文、変数や演算子など、Basicマクロ言語として、共通に利用されてる知識やルールがあります。一般のプログラミング言語では、これらの知識を把握するところから始める必要があります。
BasicでLibreofficeのマクロを作成する
LibreOfficeで、マクロを作成する情報が、現在のところ最も入手しやすいのは、StarBasicとVBA互換モードです。
LibreOfficeとApache OpenOfficeのマクロは、StarBasicから進化しています。Microsoftが、提供するVBAとは、異なるものであることに注意してください。
Basicマクロで、Witer文書を操作する
Writerで使用するマクロは、主に文書の入力作業の軽減と推敲の支援、レイアウトの統一することを目的に作成します。
Basicマクロで、Calc文書を操作する
Officeアプリケーションのマクロの情報は、表計算ソフトについての情報が最も多いです。
LibreOffice Calcも同様に、インターネット上のマクロに関する情報は、Calcのものが多く紹介されています。
LibreOfficeのマクロのドキュメントとインターネット上の情報
マクロに関する情報は、インナーネット上のドキュメントを探す必要があります。
予備知識
マクロプログラミングを始める前に、知っておいたほうがいいと思われる予備知識的な内容
- LibreOfficeで、ドキュメントの中に存在するマクロの内容を確認する
ドキュメントの中にあるコードの内容を確認する
開発者コミュニティ
- LibreOffice 開発者コミュニティ
- LibreOffice-LibreOffice開発と解説
LibreOffice 開発者向けメーリングリストの申し込みページの和訳です。このページからは申込みできませんが、申し込む際の参考にして下さい。
- LibreOffice 開発者向けメーリングリストのアーカイブ
- LibreOffice Development
LibreOfficeを開発言語から操作する
LibreOfficeマクロの本体は、ユニバーサル・ネットワーク・オブジェクト「Universal Network Objects」 (UNO)です。さらに、LibreOfficeを直接操作する仕組みとして、ディスパッチャー 「Dispatcher」を持っています。
LibreOffice SDKを別途ダウンロードし、インストールする事で、マクロではなく、開発言語を使ってLibreOfficeを操作することができます。LibreOfficeでは、「Java」,「C#」,「C++」,「Python」から操作できる仕組みが用意されています。
LibreOffice SDKには、サンプルコードも含まれている(「C:\Program Files\LibreOffice\sdk\docs」(64bit版の場合))ので、有効に利用しましょう。
SDKは、「C:\Program Files\LibreOffice\sdk」にインストールされます。(64bit版の場合)