カレントマクロへの代入

投稿者: arere2 声5 投稿

私の場合キーボードマクロを頻繁に利用しますが、このような一時的なマクロは保存しない限り、少し処理を変えて実行する事が出来ません。 またキーボードマクロを記録→「マクロ」→「編集」をしてテキスト化する行為を複数繰り返すと先にテキスト化したものに対して「マクロ」→「名前を付けて保存」が選択できません。 希望としては、選択範囲の文字をカレントのマクロとしてマクロバッファ(?)に代入する機能が欲しく思います。 保存すれば済む問題でもありますが、一時的なものを保存して後で消す行為が煩わしいのと、ある系統のファイルに対する「ほぼ」定型的な処理の場合に、その系統の元ファイルの中にコメントのような形でリファレンスのマクロを記述しておけると使い勝手がよいのではないかと考えているためです。 キーボードマクロの記録で失敗した際に再記録する事無く修正も行いやすいですし。 それからキーボードマクロを記録→「マクロ」→「編集」をしたドキュメントウインドウオブジェクトに、マクロである事を示すマーキングを加え、複数の「編集」ドキュメントがあっても「マクロ」→「名前を付けて保存」が選択できるようになっていると助かります。 宜しくお願いします。
作成したマクロを編集するときに
a = document.selection.Text;//選択文字列を変数aに代入
このコードを先頭に記述すれば選択文字やマクロに変数を渡すことはある程度可能なのかなと思いますが。どうでしょうか。 保存は、ファイルメニューから保存が可能ですよ。あと、再利用のときま[マクロメニュー]->[選択]で作成済みマクロを選択して再実行できると思います。 私も、マクロの書き方が分らないときは、キーボードマクロを実行しています。幾つか細切れにキーボードマクロを実行して複数ファイルに開いています。それらをコピー&ペーストで1ファイルにまとめてから、出来上がったJSEEファイルを選択して実行しています。 このやり方が参考になれば幸いです
返事いただいて有り難うございます。 残念ながら変数でもって処理内容を少し変えるようなものではなくて、例えば複数の箇所でカーソルの移動量が違ったり、カレントのテキストから複数行の文字列を拾ってそれをその場その場の方法で加工したりといった内容なのでマクロ自体に修正が必要なケース用です。 ファイルメニューからの保存は一々マクロフォルダのパスを指定し直す必要があるので面倒です。 >幾つか細切れにキーボードマクロを実行して複数ファイルに開いています。それらをコピー&ペーストで1ファイルにまとめてから、出来上がったJSEEファイルを選択して実行しています。 これをもっと手軽に、例えば複数行を選択した状態で右クリックし、コンテキストメニューから「カレントマクロとして取り込み」とでもいうような項目を用意しておいて、それを選ぶだけでマクロとして実行可能になるような機能を要望しています。 一時的なマクロなど、例えば残しておきたいわけではないマクロを少し修正して実行、といった事をマクロファイルの保存を省いておこないたいのです。
なるほど、ちょっとした処理をぱぱっとするわけですね。 意味が分りました。それはEvalするとことで解決しませんか?。
//選択範囲を実行するマクロ //Eval.Jsee eval(document.Selection.Text);
これをマクロツールバーに置くか、キーボード割り当てておき、範囲選択後に実行でいかがでしょう
仕事が立て込んでいてアクセスする余裕が無く、返事がすっかり遅くなってしまいました。 >意味が分りました。それはEvalするとことで解決しませんか?。 解決しますね。 他のスレでもevalの話が出ていたし理解していたのにまったく思い浮かびませんでした。 教えていただいて有り難うございます。 あとはキーボードマクロの編集を複数平行して行うと先に編集したものからマクロメニューの保存が無効になる件だけですね。

このトピックの投稿: 5