2018/07/16
LibreOffice CalcでPythonマクロを使う(3)
前回、前々回と長々と話を引っ張って、ようやく今回マクロの作成と実行のお話をします。LibreOffice Calcで作成したファイル名は「test_macro.ods」とします。「ツール」-「マクロ」から「Organize python scripts」を選択します。「Python scripts - APSO」のウィンドウが開きますので、作成ファイル名(test_macro.ods)を選択し、「Menu」から「Create module」を選択します。新しいモジュール名として、「my_first_macro_calc」を入力しました。そのモジュール名を選択し、「Menu」から「Edit」を実行すると、エディタ(私の環境ではテキストエディタ)が起動しますので、Pythonのコードを入力します。実行したマクロコードは以下の通りです。A列に1〜10までの数値を入れ、B列にその二乗値、C列に平方根を計算した単純なものです。# -*- coding: utf-8 -*-実行は「Python scripts - APSO」のウィンドウの「Execute」ボタンを押すだけです。結果は、以下の通りです。問題なく実行できました。
from __future__ import unicode_literals
import uno
import numpy as np
def my_first_macro_calc():
xdoc = XSCRIPTCONTEXT.getDocument()
xsheet = xdoc.Sheets['Sheet1']
for i in range(10):
xcell = xsheet.getCellByPosition(0, i) # A-column
xcell.Value = i + 1
xcell = xsheet.getCellByPosition(1, i) # B-column
xcell.Value = (i + 1)**2
xcell = xsheet.getCellByPosition(2, i) # C-column
xcell.Value = np.sqrt(i + 1)
return
実行は、「ツール」-「マクロ」の「マクロを実行」でも行えます。マクロセレクターで実行するマクロを選択し、実行ボタンを押すだけです。
LibreOffice CalcでPythonマクロを作成・編集・実行できる環境を構築できました。今後、面倒な表計算処理などに使っていこうと思います。
コメント