Home > コンピュータ > LibreOffice > マクロ

LibreOfficeでマクロを使う

新規作成日 2017-11-22
最終更新日

コンピューターの用途は、計算だけでなく、データを収集管理することにも使用されています。

情報の入力は、現在でも、その多くは、人の手によって行う必要がありますが、入力した情報が適切かどうかを判断したり、入力された情報を加工、整理したりする場合は、コンピューターに自動で処理させたいという需要は、これからもなくなることは無いと思われます。

マクロとは

マクロとは、アプリケーションを手作業で操作する作業をマクロ言語で記述することです。一旦、マクロとして記述すれば、操作を記述したマクロを呼び出すだけで、何度も繰り返し同じことを行うことができます。マクロを使うことで、何度も繰り返し行う同じ操作や手順を一度に実行する事ができます。

どこまで、何を自動化できるか、どれくらいの時間でマクロを作成できるかは、マクロを作成する人の知識や技能に依存するため、自分が無理なく実現できる範囲と作業量を考えて、利用する必要があります。

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が操作できる場合、言語を習得する時間を省略することができ、より短時間で作業自動化に取り組み始めることができます。

予備知識

マクロプログラミングを始める前に、知っておいたほうがいいと思われる予備知識的な内容

  1. LibreOfficeで、ドキュメントの中に存在するマクロの内容を確認する

    ドキュメントの中にあるコードの内容を確認する

開発者コミュニティ

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版の場合)

このエントリーをはてなブックマークに追加