最終更新日 2024-09-25

hmPy (秀丸マクロ用 .NET Framework ライブラリ via IronPython)

概要

IronPythonを用いて、秀丸マクロで「.NET Frameworkの多くの機能をシームレスに近い形で利用する」ためのライブラリとなります。

ダウンロード

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

動作環境

インストール

特徴

利用シーン

IronPythonである理由。

  1. 「ShiftJIS(CP932)との文字列やファイルのIOの文字コード」の変換を、可能な限り自然に隠ぺい的に行ってくれる
  2. .NET FrameWorkの大半の機能が自然な表記で使える
  3. 世界で10本の指には入るユーザー数が存在するプログラミング言語、もしくはその派生言語。
  4. 少なくとも1日あたり100万人以上の使用ユーザーが居るメジャーな開発環境で
    2017年現在、正式ツールとして組み入れられている。
このすべて満たす「スクリプト言語」は、あらゆる言語の中で「IronPython」だけです。

秀丸マクロとIronPythonの連携

秀丸のjsmodeのような関数群が利用できる

#PY = loaddll( hidemarudir + @"\hmPy.dll" );

// 以下の文字列を「IronPythonの環境スコープへと追加書き込みし、追加分だけ実行する」
#_ = dllfuncw(#PY, "DoString", R"IRONPYTHON(
from hmPy import *

message("あいう", "それで");

title("タイトルを変更");
title(-1); # マクロ終了後も維持

)IRONPYTHON"
);

freedll(#PY);

秀丸 v9.19以降では、秀丸マクロ内に埋め込む際に以下のようにより自然に記述ができます

#PY = loaddll( hidemarudir + @"\hmPy.dll" );

// 以下の文字列を「IronPythonの環境スコープへと追加書き込みし、追加分だけ実行する」
#_ = dllfuncw(#PY, "DoString", 
""""""""""""""""""""""""""""""""""""""""""""""""""
from hmPy import *

message("あいう", "それで");

title("タイトルを変更");
title(-1); # マクロ終了後も維持

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

freedll(#PY);

一番簡単なソース例

「a」に「3」、「b」に「10」を定義し、足しこんで表示。

.NET FrameWork を使った簡単なソース例

.NET FrameWorkを使って、ダイアログ表示

フォームを利用した簡単な例

その他解説

ライセンス