サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
- サービスを探す
- プロ人材を探す
- ノウハウ・素材を探す
- ブログを探す
- エージェントに人材を紹介してもらう
- 単発の仕事を探す
- 継続 (時給/月給) の仕事を探す
- エージェントに仕事を紹介してもらう
購入・発注したい方
受注・働きたい方
カテゴリ一覧
- PRO認定
- 人気のご利用シーン
- コンテンツ
弁護士検索・法律Q&A(法律相談)
LibreOfficeには「マイマクロ直下のモジュールのマクロを実行すると、同フォルダ内にあるpythonpath フォルダを検索パスに自動追加する」という機能がある
つまり、マイマクロフォルダ内に pythonpath という名前のフォルダをつくり、
その中に既存のライブラリと名前が重ならない名前のモジュールやパッケージを
入れておけば import できるようになる
※ このパスの自動追加は マイマクロ/サブフォルダ/モジュール.py など
他のフォルダのマクロから実行したときは発動しない
アプリ起動時のイベントにマイマクロ直下のモジュールのマクロを登録して実行させる
これにより、アプリを終了するまで pythonpath フォルダにパスが通ったままになる
実行するマクロの処理内容は何でもいい
def init(e):
pass
$HOME/.config/libreoffice/4/user/Scripts/python
%APPDATA%\LibreOffice\4\user\Scripts\python
import os, uno
ctx = uno.getComponentContext()
ps = ctx.ServiceManager.createInstanceWithContext("com.sun.star.util.PathSubstitution", ctx)
USER_URL = ps.getSubstituteVariableValue("$(user)")
USER_PATH = uno.fileUrlToSystemPath(USER_URL)
マイマクロフォルダのパス = os.path.join(USER_PATH, "Scripts", "python")