|
私は ruby を使って秀丸マクロを書いているんですが同じようなことで悩んでたこと
があり、なんとなくやりたいことが分かるのですが、見当違いであれば流してくださ
い。
マクロの数が増えてきてキーボードへの割当てが足りないとか似た機能の物をまとめ
たい場合は menu や mousemenu を使うと便利です
//mousumenu.mac
setmenudelay 700;
mousemenu
"&h hoge",
"&f fuga",
"&p piyo";
#r=result;
if(#r==0){endmacro;
}else if(#r==1){message "hoge";
}else if(#r==2){message "fuga";
}else if(#r==3){message "piyo";
}
> 秀丸からマクロを呼び出すとき、マクロに引数を渡すことはできますか?
というのはおそらく秀丸レベルでの呼び出しで秀丸から Rust を呼んだあと hidemar
u /x でマクロを呼びたいんじゃないかと思います。こみやんまさんのレスの通り一
応は出来るのですが、マクロは一つしか動かせないのでrunsyncで待機させている場
合だと「他のマクロが実行中です」とか言われてマクロが起動できなかったりします。
Rustで処理する時に使い捨てのマクロファイルを作って秀丸マクロに戻ったあとでそ
のマクロを呼ぶなどしてできるだけ一本線で繋がるようにした方が確実だと思います。
ruby の場合ならこんな感じ。
//ruby.mac
runsync2 "rubyw -x "+currentmacrofilename;
execmacro directory + "\\tmp.mac";
/*
#/
#! ruby
File.write("tmp.mac",%Q|message "ruby";|)
__END__
*/
|
|