注意)
このページのマクロは、Libreofficeの「マクロの実行」で動作させます。
LibreOfficeでPythonマクロを実行するには、
UbuntuのLibreOffice(MS Office互換性あり)でPythonマクロを使用する方法(超初級者向け)
https://qiita.com/ty21ky/items/2c8b001363c8293198e2
を参照ください。
実行した環境
Ubuntu Stdio 17.10
LibreOffice 6.0.0.3
Python 3.5.4(LibreOfficeバンドル)
ライブラリの保存場所
/opt/libreoffice6.0/program/python-core-3.5.4/lib/site-packages
これはVerによっても異なります。
「site-packages」フォルダは後から追加するパッケージ用のフォルダです。パッケージを追加する方法がわからないのですが?
実は、/opt/libreoffice6.0/program/python-core-3.5.4/lib/site-packagesはWindows用のフォルダで、Ubuntuでは/opt/libreoffice6.0/program/python-core-3.5.4/lib/python3.5/site-packagesになります。
せっかくあるものは利用しないともったいない。
ここは、普通のユーザーでは保存出来ないので、端末から「$ sudo vi」等でエディタを起動して使うと思いますが、私のような初心者は「$ sudo gedit」等の使い慣れたエディタを使います。
def test(a,b):
return a*b
次にPythonマクロを
/home/ユーザ名/.config/libreoffice/4/user/Scripts/python/
フォルダに作成します。
「.config」は隠しフォルダですから、ファイルマネージャー等で「表示 ー> 隠しファイルを表示にチェックを入れる」
または、端末で
~$ ls -a
とやると表示されます。
import test_test
def test():
oDoc = XSCRIPTCONTEXT.getDocument()
oText = oDoc.getText()
oText.String = str(test_test.test(100,200))
次にLibreOffice Writerを起動し
ツール ー> マクロ ー> マクロを実行 ー> マイマクロ ー> import_test ー> test ー> 実行
とすると、Writerに20000と表示されます。
引数 100と200を掛けて20000の戻り値が帰ってきて、表示しています。