新しいマクロの追加願いNo.13009
k.kiyo さん 02/09/23 19:05
 
秀丸エディタ マクロ作者会議室に投稿したらこちらの方が
よいとアドバイスをもらいましたので再投稿します。


基本的に秀丸以外のアプリケ−ションから秀丸マクロを
起動できないと思います。
そこで登録したマクロをファンクションキーに割り当てて

PostMessage(hHideWnd, WM_KEYDOWN, VK_F10, 0);

のようにしてマクロを起動しています。
これでも問題なく起動できますがマクロをファンクションキーに
割り当てるのが面倒なので、自分のメニューIDを取得できる
マクロがあれば

SendMessage(hHideWnd, WM_COMMAND, ID, 0);

のようにしてマクロを起動できます。
そこで、GetMenuID();のようなマクロを追加してもらえないで
しょうか。
ご検討してください。

[ ]
RE:13009 新しいマクロの追加願いNo.13011
ひろ さん 02/09/24 12:35
 
 k.kiyo さん今日は、ひろです。
> 基本的に秀丸以外のアプリケ−ションから秀丸マクロを
> 起動できないと思います。
 この認識が間違っています。
 http://www.maruo.co.jp/hidesoft/4/m020923.html#3406
にてJRくんが書かれていますが、
> hidemaru.exe /h /x で起動する、という方法を使いました。
この方法では駄目なのでしょうか? この方法ならファイル名で指定でき、秀
丸側での登録および起動しているかに無関係なので、より合理的だと思いま
す。

 私は C 言語の開発環境から、エラー行のジャンプにこの方法を使っていま
す。(エラー行へのジャンプだけなら、j オプションだけで良いんですが...。)

[ ]
RE:13009 新しいマクロの追加願いNo.13013
秀丸担当 さん 02/09/24 17:22
 
>そこで、GetMenuID();のようなマクロを追加してもらえないで
>しょうか。

ひろさんなどのおっしゃるように、外部からマクロを実行する場合は
/x オプションを使うとできます。
外部からWM_COMMANDを送るのは、サポートの範囲外になります。
現在のバージョンでは、マクロ番号とIDは以下のように対応していま
すので、個人の責任の範囲で使用してください。
マクロ ID
1〜15 146〜160
16〜30 205〜219
31〜80 234〜283

[ ]
RE:13011 新しいマクロの追加願いNo.13016
k.kiyo さん 02/09/25 01:46
 
> k.kiyo さん今日は、ひろです。
>> 基本的に秀丸以外のアプリケ−ションから秀丸マクロを
>> 起動できないと思います。
> この認識が間違っています。
> http://www.maruo.co.jp/hidesoft/4/m020923.html#3406
>にてJRくんが書かれていますが、
>> hidemaru.exe /h /x で起動する、という方法を使いました。
>この方法では駄目なのでしょうか? この方法ならファイル名で指定でき、秀
>丸側での登録および起動しているかに無関係なので、より合理的だと思いま
>す。
>
> 私は C 言語の開発環境から、エラー行のジャンプにこの方法を使っていま
>す。(エラー行へのジャンプだけなら、j オプションだけで良いんですが...。)

ひろさん、こんにちは

hidemaru.exe /h /x で起動するという方法は確かに新たにファイルを
開くときには有効だと思います。
しかし、僕がやりたいのは既に開いているファイルのマクロを起動する
ことです。( hidemaru.exe /h /x で既に開いているファイルを指定しても
マクロは起動しませんよね。/h の意味がよく分からないので自信なし)

何か勘違いがあるかもしれません。よいアドバイスがあればお願いします。

[ ]
RE:13016 新しいマクロの追加願いNo.13017
JRくん さん 02/09/25 02:16
 

こんな感じです。

$macrodir = getinistr("HIDEMARU.INI", "Env", "MacroPath");
if ($macrodir == "") $macrodir = hidemarudir;

#handle = hidemaruhandle(0);
setactivehidemaru 1;

closehidemaruforced #handle;

execmacro "foo.mac";
endmacro;


[ ]
RE:13017 新しいマクロの追加願いNo.13018
JRくん さん 02/09/25 02:18
 
この場合、最初の2行は要りませんでした。無視してください。

[ ]
RE:13018 新しいマクロの追加願いNo.13026
k.kiyo さん 02/09/26 01:33
 
あー!!分かりました。
/h オプションでダミーの秀丸を非表示で起動し、同時に /x オプションで
マクロを起動し、そのマクロの中でexecmacroを使って任意のマクロを実行
させるということですね。
確かにこの方法だと外部アプリからマクロを起動できますね。
勉強不足でした。
ただヘルプにもう少し詳しい説明があればよかったなと思います。

JRさん、ひろさん、ありがとうございました。


[ ]