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

LibreOffice Calcをマクロで操作する

新規作成日 2019-06-15
最終更新日

LibreOffice Calcは、Microsoft Excelと同じ表計算ソフトです。

Officeアプリケーションのマクロの情報は、表計算ソフトについての情報が最も多いです。LibreOffice Calcも同様に、インターネット上のマクロに関する情報は、Calcのものが多く紹介されています。

そのため、LibreOfficeマクロの使い方の情報を調べるには、Calcのマクロの情報から集めたほうが、集めやすいです。

経理計算や帳票印刷など、ほぼ、ほぼ同じ作業を大量に処理する用途が存在することや表計算ソフト上で、データを管理できることから、変数を使う代わりに、表計算ソフトのセル上にデータを格納することで、変数とは異なり、中身を確認しながら動作させることができるメリットがあります。

StarBasicとVBA

LibreOfficeとApache OpenOfficeのマクロは、StarBasicから進化しています。Microsoftが、提供するVBAとは、異なるものであることに注意してください。

LibreOfficeとApache OpenOfficeでは、Microsoft Officeから移行するユーザーの利便性を考え、互換性に対する配慮がされています。しかし、基本的には、LibreOfficeとApache OpenOfficeのマクロは、Microsoft OfficeのVBAとは、異なるものであること考える必要があります。

このため、StarBasicとVBAは、個別に理解する必要があります。

VBA互換モード

初期設定の状態では、Microsoft Officeで作成したVBAマクロは動作しない場合があります。

LibreOfficeでVBAマクロを実行する状況には、大きくは、次の2つの場合が考えられます。Microsoft Officeで作成したドキュメントにマクロが含まれている場合、LibreOfficeで作成した文書に、VBAスタイルでマクロを記述しようとする場合です。

LibreOfficeで作成した文書に、VBAスタイルでマクロを記述しようとする場合には、コンパイラオプションを指定しないと実行することができません。

マクロを作成する

LibreOffceのマクロは、文書ファイルの中に格納します。新しくマクロを作成するために、マクロ・エディタを使用します。

Calcマクロ

基本的な、LibreOffice Calcのマクロについて確認していきます。

コードの表記が、Star Basicスタイルなのか、VBAスタイルなのか、確認し、混乱しないように覚えていきましょう。

LibreOfficeで動作する、それぞれStar BasicスタイルとVBAスタイルで作成された、Calcのセルに値を入力するマクロ

セルの位置を指定するには、Star Basicスタイルでは、getCellByPositionを使用し、VBAスタイルでは、Cellsプロパティを使用します。

LibreOffice Calcマクロで、選択したセルに値を入力する

LibreOffice Calcマクロで、選択や選択範囲を操作し、値を入力したり、背景色を変更したりします。

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