最終更新日 2024-07-22

hmPython3 (秀丸マクロ用 スクリプト via Python)

概要

秀丸マクロで「Pythonを秀丸マクロとしてシームレスに近い形で利用する」ためのライブラリとなります。

秀丸のインプロセスで動作するため、秀丸の「組み込み言語」として動作します。

このため、hmPython3では、Pythonと秀丸マクロとの「値のやりとり」や、
「Pythonの中で秀丸マクロを実行」や「秀丸マクロの中でPythonを実行」をすることが、 とても簡単になっています。

ダウンロード

Windowsのbit数ではなく、秀丸のビット数 Windows OSが64bit版か32bit版かは関係ありません。秀丸エディタが32bit版か64bit版かでダウンロード対象を選択してください。

動作環境

インストール

ソース例

from hmPython import *

from hmPython import hm

ではなく、

from hmPython import *

後者を記述すると、秀丸エディタのマクロの関数・文・キーのほとんどが、pythonの関数としてインポートされます

mytest.mac
#DLL = loaddll( hidemarudir + @"\hmPython3" );

#r = dllfuncw(#DLL, "DoString", R"PY(
from hmPython import *

test = "あいうえお\r\n";
hm.OutputPane.Output(test);
message(hm.version)

pos_lineno = lineno()
pos_column = column()

hm.OutputPane.Output([pos_lineno, pos_column])

selected_menu = menu("あいうえお", "かきくけこ")
hm.OutputPane.Output(str(selected_menu) + "番目を選択しました")

)PY"
);

freedll(#DLL);

秀丸エディタ 9.19以降だと...

以下のように、"""""を使ってソースを挟むことで、少し見やすくすることも出来ます。

mytest.mac
#DLL = loaddll( hidemarudir + @"\hmPython3" );

#r = dllfuncw(#DLL, "DoString",
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
from hmPython import *

test = "あいうえお\r\n";
hm.OutputPane.Output(test);
message(hm.version)

pos_lineno = lineno()
pos_column = column()

hm.OutputPane.Output([pos_lineno, pos_column])

selected_menu = menu("あいうえお", "かきくけこ")
hm.OutputPane.Output(str(selected_menu) + "番目を選択しました")

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
);

freedll(#DLL);

特徴

秀丸エディタ ストアアプリ版について

hmPython3はストアアプリ版には本来対応していませんが、
特別に設定をすれば、利用する方法を確保しています。
詳細は左メニューのストアアプリ版での利用などを参照してください。

hmPython3とは別にhmPyもある

このhmPythonとは別に、「.NET」が利用可能な「IronPython」で記述する「hmPy」もあります、
既存資産やライブラリに関する知識、制作目的に応じて、選択してください。
又、hmPython3とhmPyを1つのマクロで同時に利用することも可能です。

ライセンス