概要
秀丸マクロから呼び出すhmPyの関数(API)は多くありません。
ほとんどの場合は、「DoString」だけを使うこととなるでしょう。
Pythonファイルを別ファイルにした場合には、「DoFile」を使うことになるハズです。
-
命令の実行:
└ DoString(szexpression)
文字列「szexpression」をIronPythonの命令として実行します。
何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。
-
1つのマクロ内で「DoString」は複数回実行可能、変数空間も同じ
#PY = loaddll( hidemarudir + @"\hmPy.dll" );
#_ = dllfuncw( #PY, "DoString", R"PY(
aaa = "あいうお";
def mysum(a, b):
return a + b
)PY"
);
#bbb = 123;
#_ = dllfuncw( #PY, "DoString", R"PY(
bbb = hm.Macro.Var['#bbb']
ccc = aaa + "続いている" # 別のDoStringでも、aaa は引き続き利用できる。
hm.Macro.Var['$ddd'] = ccc;
hm.debuginfo( mysum(1,2) ); # 別のDoStringで定義した関数も当然利用できる。
)PY"
);
message($ddd);
freedll( #PY );
-
命令の実行:
└ DoFile(filename)
ファイル名「filename」内の記述内容全体をDoString(...)の引数に渡したものとして実行します。
何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。
-
.pyファイルの文字コードの変更など:
└ SetCodePage(codepage)
「.py」ファイルは、「cp932(≒sjis)」「utf8(BOM有)」「utf16(BOM有)」のいずれかが想定されています。
それ以外で取り扱いたい場合、「SetCodePage」関数を利用してください。
この関数は「読み込み対象のファイル」が、該当のコードで記述してある、 という指定となります。