マクロでの検索条件の扱いについて

  1. 開発お疲れ様です。

    以前grepの複数フォルダ対応のお願いの時、少しお話しした件です。
    マクロで.Find()や.Replace()を使っても、編集時の検索条件に影響を与えないようにしたい…という。

    メソッドの変更よりは、例えば
    Editor.FindProps.Store();
    Document.Selection.Replace(.....);
    Editor.FindProps.Restore();
    なんてI/Fを新設する方が、既存への影響は少ないのではと考えた次第です。
    すでに同一の話が出ていそうですが…。

    よろしくお願いいたします。

     |  mio  |  返信
  2. ご無沙汰しております。

    ご意見ありがとうございます。

    マクロの Find や Replace メソッド実行時における検索のオプション項目を維持するための仕組みですが、Ver 3.0.1 で実装済みとなっています。

    更新履歴のほうにも記載させていただいてますが、mio さんにご提案いただいたアイデアをもとに Find メソッドなどの引数としてフラグ meFindKeepOptions を追加したかたちとなっています。

    Ver 3.0.1 変更ログ
    https://www.haijin-boys.com/software/mery/mery-3-0-0#13

    メソッドの変更はなく、フラグを渡してやるだけでご利用いただけます。

    document.selection.Find("検索する文字列", meFindNext | meFindKeepOptions);

    お試しくださいませ。

     |  Kuro  |  返信
  3. ああ、そうでしたか…すみません、完全に見落としてマヌケな投稿をしてしまいました。
    ありがとうございます。
    さっそく使わせていただきます。

     |  mio  |  返信
  4. 確認させていただきました。
    検索条件の保持については問題ありませんでした。ありがとうございます。

    ただ…欲を言えば、現在のマーカー状態も保持あるいは復元できないかなと感じました。
    マクロ完了後にF3を押下すれば復帰するので、ここまでをワンセットとするか、あるいはF3キーを押下したのと同様の効果が得られる方法(マクロ)があればと思います。

     |  mio  |  返信
  5. ご返信ありがとうございます。

    > ただ…欲を言えば、現在のマーカー状態も保持あるいは復元できないかなと感じました。

    この件につきましては賛否両論あるようで、現在、以下のトピックにて意見交換がされていますが結論は出ていない状態です。

    https://www.haijin-boys.com/discussions/5497

     |  Kuro  |  返信
  6. ありがとうございます。
    一方的な解釈を好まないので言いたいことがないではないですが、meFindNextに意識がなかったのは素直に認めます。

    …この投稿で最初に提案差し上げた明示的な保持・復元なら、どちらにとっても問題がない機能にできるのでは、と思わないでもなく。
    復元時、結果反映まで含めるかどうかを渡せれば。

     |  mio  |  返信
スポンサーリンク