[ 新規に投稿する ]

別ファイルへのsearchdown後の動作についてNo.10497
popper さん 24/12/16 20:57 [ コメントを投稿する ]
  例えば、B.txt 内の語(例えば今日の日付 "2024/12/16")を検索するマクロを以下のように作りました。

saveall;
openfile "B.txt";
searchdown year + "/" + month + "/" + day, hilight;

このマクロを、次のように実行した場合に、実行後に開いているファイルを
B.txt にしたいのです。

なお、A.txt と B.txt は同フォルダーにあります。

(1) A.txt だけが開いている(B.txt は開いていない)状態でマクロを実行すると、
 B.txt が開いて検索語の位置にカーソルが来ます。
 これがこのマクロでやりたかったことで、この場合は成功です。

(2) A.txt と B.txt の2つのファイルが開いている場合に、
 B.txt でこのマクロを実行すると、B.txt での検索語にカーソルが位置するので成功です。

問題は次の場合です。
(3) A.txt と B.txt の2つのファイルが開いている場合に、
 A.txt でこのマクロを実行すると、一瞬 B.txt が開いた後 A.txt ファイルが開いた状態になります。
 B.txt を見ると、カーソルは検索語の位置にあります。

 A.txt からマクロを実行しても、実行後は (1), (2) のように、
 B.txt が開いた状態で終えたいのですが、どうしたらよいでしょうか?

上のマクロの手直し、あるいは、そもそもopenfile や searchdown を使わない別のやり方があればお教え願えますでしょうか。

よろしくお願いいたします。
[ ]
RE:10497 別ファイルへのsearchdown後の動作についてNo.10498
igus さん 24/12/17 03:19 [ コメントを投稿する ]
  確かに動作がおかしいのが確認できてどうやら saveall が悪さをしているみたいです。
saveall にパラメータを与えてやるとうまく動作しました。

//検索.mac
saveall 0x01 | 0x02;
if(findhidemaru("B.txt")==-1);openfile "B.txt";
setactivehidemaru findhidemaru("B.txt");
searchdown year + "/" + month + "/" + day, hilight;
endmacro;

[ ]
RE:10498 別ファイルへのsearchdown後の動作についてNo.10499
popper さん 24/12/17 13:52 [ コメントを投稿する ]
  igus さん、ありがとうございます。

望んでいた通りの動作をするようになりました。
感謝、感謝です。
[ ]

[ 新規に投稿する ]