オフィスソフトをマクロでうまく自動化すると、作業の手間を大幅に軽減することができます。
マクロを活用するかどうかの判断は、手作業で行う手間と、マクロを習得し、作成し、きちんと動作するか確認する手間の比較の問題になります。
同じ作業が多ければ、頻繁に行う作業は、マクロで行ったほうが長期的に有利です。
問題は、マクロの習得に必要な時間と手間です。
既に知っている開発言語、あるいは、他でも活用できる開発言語を用いてマクロを作成することができれば、実質の学習コストが低減できる可能性があります。
Pythonは、人気のある開発言語であるため、LibreOfficeのマクロだけでなく、他の用途でも活用できる可能性は高くなります。
ですが、LibreOfficeのマクロに関する情報は、入手しにくい傾向があります。
一般に、LibreOfficeに限らず、コンピューターの開発言語に関連する情報はどれも同じ状況です。わかりやすく情報をまとめて、提供する人が登場しない限り、必要な情報を手に入れることが困難な状況が継続します。
個人でできる取り組みは、自分が調べて確認したことをわかりやすくまとめ、インターネット上で公開しておくことです。そのまとめた情報を元に、新たに情報を加えて、よりわかりやすく、系統的に情報をまとめて公開してくれる人が現れる偶然を待ちます。それが、複数の人々の間で、継続して繰り返されると、いずれ、わかりやすい情報が簡単に手に入る状態になります。
自分の作業に必要なマクロを作成したら、それをきちんと把握し、後から再利用できる状態にしておくことが必要です。
マクロの編集では、pythonマクロは編集できない
LibreOfficeには、マクロを編集するためのエディタが搭載されています。
このエディタは、[ツール]→[マクロ]→[マクロの編集]で起動できますが、このエディタは、Basicで作成するマクロのためのものであるため、pythonマクロが表示されません。その結果、pythonマクロを使用するためには利用できません。
pythonマクロは、拡張子も保存先もBASICで記述されたマクロとは異なります。
LibreOfficeでPythonマクロを使用する流れを確認する
初めて、LibreOfficeで、Pythonマクロを使用しようとする場合、次のことを最初に行います。
- Pythonマクロを記述するエディタを用意する
- Pythonマクロの保存先を確認する
- 動作が確認されているPythonマクロを実行する
この作業を行い、実際にPythonマクロを実行できる状態であることを確認します。
APSO(Alternative Script Organizer for Python)拡張機能を使用する
ドキュメント
LibreOfficeのマクロに関する文書は、多くの場合、日本語版が用意されていません。
和訳したドキュメントをここに配置しておきます。ご自由にご利用ください。
- マクロ言語としてのPython(Python as a macro language) OpenOffice Wikiの文書
- Pythonアプリケーションの設計と開発 [LibreOffice Wikiの和訳]
- APSO -Python用の代替スクリプト・オーガナイザー
- マクロ/Pythonの基礎