初めて、LibreOfficeで、Pythonマクロを使用しようとする場合、次のことを最初に行います。
- Pythonマクロを記述するエディタを用意する
- Pythonマクロの保存先を確認する
- 動作が確認されているPythonマクロを実行する
この作業を行い、実際にPythonマクロを実行できる状態であることを確認します。
Pythonマクロを記述するエディタを用意する
LibreOfficeでは、インストールした状態では、pythonマクロを作成、編集できません。そのため、別のツールでPythonマクロを記述する必要があります。
一般的には、Visual Studio Codeのような、汎用エディタを使用します。
APSO(Alternative Script Organizer for Python)拡張機能を使用すると、LibreOfficeから、pythonマクロを作成、編集できます。
Pythonマクロの保存先を確認する
Pythonスクリプトは「ユーザープロファイルフォルダ」内に「Scripts」フォルダを作成し、その中にさらに、「python」フォルダ(pythonがすべて英小文字で表記されていることに注意してください)を作成し、その中に保存します。フォルダ名の入力ミスに注意です。フォルダ名が異なるとマクロの一覧に表示されなくなります。
「\Scripts\python」下に更にフォルダを作成することもできます。
LibreOfficeは、Windows、Linux、MacOSそれそれで動作するので、使用している環境のマクロの保存場所を確認します。
Windows「C:\Users\[アカウント名]\AppData\Roaming\LibreOffice\4\user\Scripts\python」
Linux「/home/<ユーザー名>/.config/libreoffice/4/user」
MacOS「~/Library/Application Support/LibreOffice/4/user/Scripts/」
※Windowsの場合、デフォルトの状態では、システムドライブ(C:)に格納されるので、パソコンの更新などの際に、マクロを回収し忘れる可能性が高くなります。バックアップツールやミラーツールなどで、自動で、他のドライブにコピーを作成する状態にしておくことをお勧めします。
参考
マクロは、LibreOfficeのメニューから、[ツール]→[マクロ]→[マクロの実行]内の[マイマクロ]の中にあります。実行するマクロを選んで、実行することができます。
メニューバーから、[ツール]→[マクロ]→[マクロの実行]を選択する
マクロセレクターで、実行したいマクロを選択する
動作が確認されているPythonマクロを実行する
テキストエディタで、コードを作成し、マクロフォルダ「Scripts/python」に格納します。Pythonコードのファイル拡張子は、「.py」 です。
Pythonのコメントは、インラインコメントは、「#」記号で始まり、行末で終了します。
Writer用サンプルコード
import uno
def my_first_macro_writer():
doc = XSCRIPTCONTEXT.getDocument()
text = doc.getText() # com.sun.star.text.Text
text.setString('Pythonを使ってWriterからHello world')
return
実行結果
Calc用サンプルコード
import uno
def my_first_macro_calc():
doc = XSCRIPTCONTEXT.getDocument()
cell = doc.Sheets[0]['A1'] # com.sun.star.sheet.XSpreadsheetDocument
cell.setString('PythonからCalcでHello World')
return
実行結果
参考