\(tag-number,function) 置換の時の、変換モジュールによる変換の指定(Ver8.91対応版)
目次検索系コマンド正規表現− 置換の時の、変換モジュールによる変換の指定
 秀丸エディタのV8.20より、置換の時に、検索でヒットした文字列を変換モジュールに通して、その結果に置換することが出来るようになりました。指定の方法は、秀丸エディタ標準の変換モジュールを使う場合なら、

	\(タグ番号,関数名)
 となります。他の変換モジュールを使う場合は、
	\(タグ番号,関数名,変換モジュール名)
 です。変換モジュール名の「.hmf」または「.hmf64」の拡張子部分は省略することが出来ます。

 関数呼び出しにパラメータも付けたい場合は、
	\(タグ番号,関数名,変換モジュール名,パラメータ)
 となります。パラメータの中に空白やコンマを含む場合は、パラメータ全体を""で囲んでください。

 変換モジュールを複数通したい場合は、以下のようにネストさせることが出来ます。
	\((タグ番号,関数名1),関数名2)

	\((タグ番号,関数名1,変換モジュール名1,パラメータ1),関数名2,変換モジュール名2,パラメータ2)


 秀丸エディタ標準の変換モジュール(HmFilter.hmfまたは64bit版の場合はHmFilter.hmf64)には、以下の関数が用意されています。
関数名メニュー上の名前
ToUpperUPPER CASE
ToLowerlower case
ToHankakuハンカク
ToZenkakuHira全角ひらがな
ToZenkakuKata全角カタカナ
ToSpaceTAB -> 空白 (※注)
ToTab空白 -> TAB (※注)
ToHankakuAlnum英数字/記号/空白のみ半角に
ToZenkakuAlnum英数字/記号/空白のみ全角に
ToHankakuKataOnlyカタカナのみ半角に
ToZenkakuKataOnlyカタカナのみ全角に
Indentインデント
UnIndent逆インデント
Sortソート

英単語を、先頭の文字だけ大文字にして残りの文字を小文字に変換する例:
検索:  \<([a-z])([a-z]*)\>
置換:  \(1,ToUpper)\(2,ToLower)
2行のデータを見つけて逆順ソートする例:
検索:  ^.+\n.+\n
置換:  \(0,Sort,HmFilter,"101000000000000\"00")
英単語を見つけて全角に変換する例:
検索:  \<[a-z]+\>
置換:  \(0,ToZenkakuHira)




変換モジュールのパラメータを調べる方法

変換モジュールのパラメータは、キー操作の記録をして、キー操作の保存をしてマクロ化することで知ることができます。

ソート(Sort.hmf)という変換モジュールをマクロ化する例
 1.適当に範囲選択する
 2.[マクロ]→[キー操作の記録開始/終了](標準でShift+F1)
 3.[編集]→[変換]→[ソート]
 4.[マクロ]→[キー操作の記録開始/終了](標準でShift+F1)
 5.[マクロ]→[キー操作の保存]
 6.適当にtest.macなどというファイル名で保存

で、マクロができます。


この手順ではソートのダイアログは出ず、記録したときのダイアログで選んだソート方法が記録されています。
マクロファイル用のフォルダにあるtest.macを開くと、

filter "…フォルダ名…\\Sort.hmf" , "Sort" , "000110110002001\"00";

というような感じになっていて、filter文の最後の"000110110002001\"00"の部分がパラメータになっています。
(この例では、マクロの文字列の中に「"」が含まれるので「\"」となっています)

これを置換で使うには、「\(0,Sort,HmFilter,000110110002001"00)」というようにします。


 参考:[動作環境]→[編集]→[変換]