最終更新日 2024-09-25
hmPeachが秀丸マクロへアクセスする関数
PHPから秀丸マクロへアクセスする関数
PHPのライブラリを生かしつつ、秀丸マクロの機能や各種値もほぼ全て使えるところが、
hmPeachが優れている所以です。
- 秀丸マクロをそのまま実行
- 「秀丸マクロの変数」⇔「PHPの変数」を相互にやり取り。
の2つの手段で秀丸マクロを取り扱うことが出来ます。
-
PHPから秀丸マクロを実行
-
$Hm->Macro->doEval( ヒアドキュメント or 文字列)
引数の文字列を、「秀丸マクロ」として実行する。
-
-
PHPから秀丸マクロの変数の読み書き
-
$Hm->Macro->getVar('秀丸マクロのシンボル名')
対象の「秀丸マクロ」としてのシンボル名に対応する値を取得する。
-
$Hm->Macro->setVar('秀丸マクロのシンボル名', 新たな値)
対象の「秀丸マクロ」としてのシンボル名に、新たな値を設定する。
(読み取り専用の値には設定出来ません)
-
<?php // 秀丸マクロの「#aaa」という変数に3を設定。 $Hm->Macro->setVar('#aaa', 3); // 秀丸マクロの「$bbb」という変数に「あいうえお」を設定。 $Hm->Macro->setVar('$bbb', "あいうえお" ); list($result, $error) = $Hm->Macro->doEval( <<<'MACRO' message($bbb); $$message = $bbb + $bbb; message($$message); // アウトプット枠へ出力 #OP = loaddll( "HmOutputPane.dll" ); #ret = dllfunc(#OP, "Output", hidemaruhandle(0), $$message); freedll(#OP); MACRO ); if ($result > 0) { echo "マクロ成功\n"; } else { echo "マクロ失敗\n"; } echo $Hm->Macro->getVar('$bbb'); echo "\n"; echo $Hm->Macro->getVar('filename'); echo "\n"; echo $Hm->Macro->getVar('column'); echo "\n"; $hmdate = $Hm->Macro->getVar('date'); echo( $hmdate ); ?>