[ネタ] 任意のマクロ番号のマクロを編集No.09132
草餅 さん 06/02/17 10:34
 
こんにちは。

以前に似たような投稿をした記憶があるのですが、
検索で見当たらなかったので、再度投稿します。

コンテキストメニューなど各メニューにマクロを設定すると、

[マクロ番号:マクロ名]

がメニューに表示されます。そこでそのマクロを編集したい時、
例えば、

$a = input("マクロ番号", "");
openmacronumber val($a);

でマクロファイルを編集用に開ければ、非常に助かります。
現状では、各マクロで開いたメニューの最後に、

mousemenu
"あ",・・・,"このマクロを編集";
if( result == 0 ) endmacro;
else if( result == 1 ) goto aaa;
・・・・
else if( result == 6 ) {execmacro macrodir + "\\(マクロ名).mac";}
 
という、苦肉の策を使ってます。
欲をいえば、「キー割り当ての一覧表作成」と同様に、
「マクロ登録の一覧表作成」のテキストデータ
を出力できると、マクロ登録に関わる作業が効率化すると思います。





[ ]
RE:09132 [ネタ] 任意のマクロ番号のマクNo.09167
秀丸担当 さん 06/02/17 18:15
 

>コンテキストメニューなど各メニューにマクロを設定すると、
>
>[マクロ番号:マクロ名]
>
>がメニューに表示されます。そこでそのマクロを編集したい時、
>例えば、
>
>$a = input("マクロ番号", "");
>openmacronumber val($a);
>
>でマクロファイルを編集用に開ければ、非常に助かります。

openmacronumberというより、$file = macro[#n];みたいに、登録されているマ
クロのファイル名が取得できたら便利かもしれないですね。
ネタとして参考にしたいと思います。

[ ]
RE:09132 [ネタ] 任意のマクロ番号のマクNo.09169
カモノハシ さん 06/02/17 21:59
 
こんばんは、カモノハシと申します。

http://members.jcom.home.ne.jp/c-spencer/program/piece/index.html#key
で公開しているdllを使うと以下のように取得できます。

loaddll currentmacrodirectory + "\\AssignReg.dll";
$a = input("マクロ番号", "");
message dllfuncstr("getMacroFilePath",val($a));
freedll;


上記だけだと秀丸を起動してから手動でマクロの登録を変更すると古い情報が出ま
すが、その場合もヘルプにあるように対処すれば新しい情報を取得できます。

[ ]
RE:09169 [ネタ] 任意のマクロ番号のマクNo.09177
草餅 さん 06/02/18 01:40
 
こんにちは。

>http://members.jcom.home.ne.jp/c-spencer/program/piece/index.html#key
>で公開しているdllを使うと以下のように取得できます。

少々アレンジして、

loaddll currentmacrodirectory + "\\AssignReg.dll";
$a = input("マクロ番号", "");
openfile macrodir + "\\" + dllfuncstr("getMacroFilePath",val($a));
freedll;
endmacro;

で完璧でした。使わせていただきます。

>上記だけだと秀丸を起動してから手動でマクロの登録を変更すると古い情報が出ま
>すが、その場合もヘルプにあるように対処すれば新しい情報を取得できます。

了解しました。
レスありがとうございました。



[ ]