1 件の投稿を表示中 (合計 3 個)
  • 作成者
    投稿
  • #23635
    takopon
    参加者

    初めてこちらに質問させていただきます。
    htmlファイルで、例えば以下のような文章を、<p></p> の中にコピペすると、

    ————–
    あいうえお
    かきくけこ
    さしすせそ
    たちつてと

    <p>あいうえお
    かきくけこ
    さしすせそ
    たちつてと</p>
    ————–

    このようになってしまいます。そこで改行している部分に<br>タグを入れるために、
    次のようなマクロを使って、選択部分を一括置換していました。

    ————–
    document.selection.Replace(“\\n”,”<br>”,eeFindNext | eeFindReplaceSelOnly | eeReplaceAll | eeFindAround | eeFindReplaceRegExp,0);
    document.HighlightFind=false;
    document.selection.CharRight(false,1);
    ————–

    これを実行すると

    ————–
    <p>あいうえお<br>かきくけこ<br>さしすせそ<br>たちつてと</p>
    ————–

    のようにいつもはうまく変換できていたのですが、昨日の v16.6.0 へアップデート後から、
    突然エラーが出るようになってしまいました。

    マクロを実行すると、膨大な数のファイルの「置換中」というローディング画面が表示されて、
    キャンセルを押すとマクロエラーになってしまうようです。(※参考までにエラー画面のキャプチャのURLを記載します。)
    https://gyazo.com/58feba22110868aa006b8f30c1486c9c

    Emeditorは何年も使わせていただいているのですが、このようなことは初めてで困っております。
    もし原因がお分かりでしたら、解決方法をお教えいただけると助かります。

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

    #23636
    Yutaka Emura
    キーマスター

    takopon 様

    いつもお世話になっております。江村です。

    ご迷惑をお掛けして申し訳ありません。

    Replace メソッドでは eeFindAround というフラグは使えないことになっています。また、選択範囲内の置換ですので不要になります。eeFindAround を取り除いて、以下のように記述していただければ、問題は発生しなくなります。

    document.selection.Replace("\\n","<br>",eeFindNext | eeFindReplaceSelOnly | eeReplaceAll | eeFindReplaceRegExp,0)
    document.HighlightFind=false;
    document.selection.CharRight(false,1);

    次のバージョンでは、このようなフラグがあった場合には、マクロの実行自体がエラーとなって止まるように修正します。

    今後もよろしくお願い申し上げます。

    #23640
    takopon
    参加者

    江村 様
    お早いご返答ありがとうございます。
    マクロに関して知識不足でした。問題は無事解決でき大変助かりました。
    EmEditorは使いやすいソフトでとても気に入っております。
    今後も開発頑張ってください。またタブのピン留め機能も心待ちにしております。

1 件の投稿を表示中 (合計 3 個)
  • このトピックに返信するにはログインしてください。