概要
秀丸マクロから呼び出すhmPython3の関数(API)は多くありません。
ほとんどの場合は、「DoString」だけを使うこととなるでしょう。
-
命令の実行:
└ DoString(szexpression)
文字列「szexpression」をPythonの命令として実行します。
実行すら出来なかった場合は0が、とりあえず実行できた場合は1が返ってきます。
-
1つのマクロ内で「DoString」は複数回実行可能、変数空間も同じ
#PY = loaddll( hidemarudir + @"\hmPython3.dll" );
#_ = dllfuncw( #PY, "DoString", R"PY(
from hmPython import *
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 );
-
Pythonのステートをマクロに埋め込みたく無い場合:
単純に Pythonのimport文を使ってください。
- 「カレントフォルダ」のPythonファイルと、
- 「今実行しているマクロファイルと同じディレクトリにあるPythonファイル」
はimport することが出来ます。