Home > コンピュータ > LibreOffice > マクロ > Python > LibreOfficeでPythonマクロを使用する流れを確認する

LibreOfficeでPythonマクロを使用する流れを確認する

新規作成日 2022-03-06
最終更新日

初めて、LibreOfficeで、Pythonマクロを使用しようとする場合、次のことを最初に行います。

  1. Pythonマクロを記述するエディタを用意する
  2. Pythonマクロの保存先を確認する
  3. 動作が確認されている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それそれで動作するので、使用している環境のマクロの保存場所を確認します。

Pythonマクロの保存先

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

実行結果

my_first_macro_writer()の実行結果

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

実行結果

my_first_macro_calcの実行結果

参考

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