PythonでYahoo!ファイナンスからその時点での為替レートを取得することはできたので、次はLibreOffice Calcからそのデータを利用する部分です。
が、Calcの「ツール」→「マクロ」→「マクロの管理」→「Python」というメニューがありますが、そこではPythonマクロ(プログラム)の実行はできても、追加や編集はできないようです。
ググってみると、考えるエンジニアさんのLibreOffice CalcでPythonマクロを使う(2)にまとめられていました。
まず、LibreOfficeでPythonをマクロとして登録して使うための機能拡張 APSO(Alternative Script Organizer for Python)をダウンロードしてインストールします。APSOはLibreOfficeにPythonを組み込むマクロ管理拡張です。
インストールするには、ダウンロードした "apso.oxt" をダブルクリックすればOKです。
次に、「ツール」→「オプション」の設定ダイアログを開きます。
「セキュリティ」を選択し、「マクロセキュリティ」をクリックします。
「セキュリティレベル」タブでは、セキュリティレベルは「高」のままにします。「信頼されたソース」のタブで、「信頼されたファイル位置」に先ほど作ったPythonプログラムの保存場所を登録します。自分はGoogle Driveの中によく使うライブラリ用のフォルダを用意しているので、そこに "LibreOffice\Python" というディレクトリを掘りました。その他のCADなどで使用するライブラリもここに収納しています。
これでこの場所にあるPythonスクリプトを登録できるようになりました。
次に、APSOで使用するエディタの登録を行います。
「ツール」→「拡張機能マネージャー」を開き、「APSO」を選択して「オプション」をクリックします。
すると、"EditorKicker"の項目にエディタの設定ができるようになっているので、使い慣れたエディタを指定します。ここでは "秀丸エディタ" を指定しています。
これで設定などの準備は整いましたので、「ツール」→「マクロ」を見てみると、"Organize python scripts" という項目が増えています。早速なにかやってみましょう。この "Organize..." をクリックします。
まず、無題1を選択して、「Menu」→「Create Module」をクリックします。
するとモジュール名を入力するダイアログが現れるので、試しになにか入れてみます。
まずはCalcのセルになにかを表示してみたいので、定番の "Hello, World!" をやってみます。すると "無題1" の下に "Hello, World!" ができてくるので、それを選択してから「Menu」→「Edit」します。先ほど設定したエディタでソースが開かれます。
ファイルのパスが "AppdData\Local\Temp" 以下にあるんだけれど大丈夫かしら…。
さて、Pythonではなにかをするためにはまず対応したモジュールを import して、そこから関数やオブジェクトを利用するという形になるわけですが、当然Calcになにかを入力するためにはCalcのAPIを叩くモジュールが用意されている…ハズ…されてるといいな。
ちょっと長くなってきたのでその3に続きましょう。
登録:
コメントの投稿 (Atom)
Vimの補完プラグインをインストール。その4
Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...
-
現在のメインPCはCore i9-9900Kなので、すでにWindows11にアップグレード済なのですが、以前使っていた2台のPCはどちらもCore i7-4790Kで、Windows11の対象外になってしまっています。 2015年に購入したものですが、4790Kは今でも十分に...
-
ノートPCでMP4動画を再生するのに、VLCメディアプレーヤーは使いやすいし何も設定しなくてもインストールしただけで使えるので便利ですが、画質・再生品質的には今一つの印象があります。印象なので、ここから先は単なる自己満足の世界で、定量的な評価などはありません。動画を見ていて、再生...
-
どうも年が明けてから、メインPCの調子が今ひとつな感じです。 実は先程もいきなりBSOD(Blue Screen Of Death)して、「自動的に再起動します」と出ているのに再起動せず、メッセージにはwin32kbase.sysのSYSTEM_SERVICE_EXCEPTIO...
0 件のコメント:
コメントを投稿