最終更新日 2024-09-25
「hmPy・IronPython」の例題④ .pyファイルの利用
概要
IronPythonの例題のひとつとなります。
hmPyでは、秀丸マクロ内に直接IronPythonを埋め込むのではなく、
外部に別途「.py」としてファイルを用意しても利用可能です(拡張子はなんでもOKです)
ファイルの文字コードはcp932(sjis)としてください。
外部のファイルの使用例
#PY = loaddll( hidemarudir + @"\hmPy.dll" );
#_ = dllfuncw(#PY, "DoFile", currentmacrodirectory + @"\form1.py"); // 外部ファイルの実行
$f_title = dllfuncstrw(#PY, "GetStrVar", "f_title" );
message("秀丸マクロに戻ってきました:" + $f_title);
#_ = dllfuncw(#PY, "DoString", R"IPY(
import System
f_title = f_title.Replace('①', '②') # ①を②に置き換え。
)IPY"
);
$f_title = dllfuncstrw(#PY, "GetStrVar", "f_title" );
message("再び秀丸マクロに戻ってきました:" + $f_title);
freedll( #PY );
endmacro;
外部の「.py」ファイルを用意
上記マクロと同じディレクトリに、form1.pyというファイルを用意しましょう。
ファイルの文字コードはcp932(sjis)なので、気をつけてください。
# coding: cp932
import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
from System.Drawing import *
from System.Windows.Forms import *
class MyForm(Form):
def __init__(self):
# Pythonのコンストラクタは__init__です。
pass
Application.EnableVisualStyles()
form = MyForm()
form.Text = '表示①'
f_title = form.Text # 受け渡し用途
Application.Run(form)
