フォーラムの返信を作成しました。

1 件の投稿を表示中 (合計 4 個)
  • 作成者
    投稿
  • 返信先: EmEditor Professional 7.00.1 RC 1 #5564
    zetajr
    メンバー

     「すべて置換」機能jが正しく動作するのを当方でも確認いたしました。ご対応ありがとうございました。

    zetajr
    メンバー

    ~~~~~~~~~~~~~~~~~~~~
    WindowsXP Pro. -> 2600.xpsp_sp2_qfe070227-2300 (Service Pack 2)
    IE -> 7.0.5730.11/更新バージョン:0
    shlwapi.dll -> 6.00.2900.2995 (xpsp.060913-0019)
    ~~~~~~~~~~~~~~~~~~~~

     当方の環境だと上記のようになってました。

    zetajr
    メンバー

     自分が使っているマクロはこのようなものです。どこに関係があるかわかりませんでしたので、そのままベタで記載いたします。
     先ほど大文字小文字を区別するようにすると回避できる、とご報告いたしましたが、下記マクロにおいては、回避できずに誤変換してしまいました。

     環境については、WinXPSP2+IE7日本語版、IMEはXP標準装備のIME2002のままです。

    ~~~~~~~~~~~~~~~~~~~~
    document.selection.Replace(“―”,”―\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“ソ”,”ソ\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“Ы”,”Ы\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“Ⅸ”,”Ⅸ\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“噂”,”噂\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“浬”,”浬\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“欺”,”欺\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“圭”,”圭\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“構”,”構\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“蚕”,”蚕\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“十”,”十\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“申”,”申\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“曾”,”曾\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“箪”,”箪\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“貼”,”貼\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“能”,”能\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“表”,”表\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“暴”,”暴\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“予”,”予\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“禄”,”禄\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“兔”,”兔\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“喀”,”喀\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“媾”,”媾\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“彌”,”彌\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“拿”,”拿\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“杤”,”杤\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“歃”,”歃\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“濬”,”濬\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“畚”,”畚\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“秉”,”秉\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“綵”,”綵\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“臀”,”臀\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“藹”,”藹\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“觸”,”觸\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“軆”,”軆\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“鐔”,”鐔\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“饅”,”饅\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“鷭”,”鷭\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“偆”,”偆\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
    document.selection.Replace(“砡”,”砡\”,eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);

    ~~~~~~~~~~~~~~~~~~~~

    zetajr
    メンバー

    WinXPSP2日本語で使っています。Ver.7.00のProをレジスト済みです。日本語変換はIME2002です。

    >つまり、検索ダイアログで、[すべて置換] ボタンを2回続けて押しても再現しますか?

     再現します。

     ただ、追加でいろいろ試したところ、「大文字と小文字を区別する(C)」のチェックボックスがオフになっていると出る現象のようです。ここのチェックをオンにすると、現象が出なくなりました。

    Yutakaさんは書きました:

    zetajrさんは書きました:
     Ver.7.00日本語版を使用しています。

     テキストの中に「ー」と「―」がある場合、Ctrl+Hで出てくるウィンドにて「―」を検索したり一文字分だけ”置換(R)”する場合は特に問題は無いのですが、”すべて置換(A)”を実行すると、「―」だけでなく一緒に「ー」までもが置換されてしまいます。テキスト内に「―」が全くなく、「ー」しか存在していない場合でも同様です。エスケープシーケンスの有効無効を切り替えて見たりもしましたが、動作に変化はありませんでした。

    例:
    1.用意する変換元文:「―ー―ー―ー―ー―ー―ー―ー―ー―ー―ー」
    2.「―」のみ「あ」へ”変換(A)”を10回実行:「あーあーあーあーあーあーあーあーあーあー」<-「―」は文字列から正しく消えている
    3.ここで無いはずの「―」を「ぅ」へ"すべて置換(A)":「あぅあぅあぅあぅあぅあぅあぅあぅあぅあぅ」<-本来なら置換箇所は無いはずなのに

     個人的な理由で「―」から別文字への変換をするマクロをVer.6まで使っていたのですが、Ver.7になってこのような動きをするようになって非常に困っています。

     回避方法はありませんでしょうか?

    こちらでは再現しないのですが、再現できる条件、たとえば、OS の種類など、できるだけ詳しく教えていただけますか?

    検索後の文字列を「う」にしないて、「あ」のままにしてもやはり再現しますか? つまり、検索ダイアログで、[すべて置換] ボタンを2回続けて押しても再現しますか?

1 件の投稿を表示中 (合計 4 個)