Applekdz
@Applekdz

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

EmEditorの条件付き一括置換のマクロで���O���s���ł��B (0x80020006)というエラーが出る件です。

EmEditorでお世話になり、ありがとうございます。
やりたいことは以下なのですが、JavaScriptでやると不明なエラーが出ました。
エラーの意味が検索しても不明でした。
このエラーは何か教えていただけますと幸いです。

やりたいことは
「EmEditorで、文書のなかに高知という単語があったときだけ、"コーチ"という単語を"高知"に一括置換したいです。ただし、文書に高知という単語がもともとない場合にはコーチのままで変換してはいけないという条件付きです。」
GOMCAM 20230918_1748470717_R.jpg

#language="v8"
// ドキュメント全体を取得
var content = document.GetText(0, -1);

// "高知"が存在するか確認
if (content.indexOf("高知") !== -1) {
    // "コーチ"を"高知"に置換
    document.selection.Replace("コーチ", "高知", eeFindReplaceAll + eeReplaceCase + eeFindReplaceRegExp);
}

以下のJScriptでやってみましたがエラーは出ないものの変化無しでした。

#language="JScript"
// ドキュメント全体を取得
var content = document.selection.Text;

// "高知"が存在するか確認
if (content.indexOf("高知") !== -1) {
    // "コーチ"を"高知"に置換
    document.selection.Replace("コーチ", "高知", eeFindReplaceAll | eeReplaceCase | eeFindReplaceRegExp);
}
0

1Answer

EmEditorのヘルプを見ての回答となります。外していたらごめんなさい。

  • document.GetText(0, -1);document.GetTextですがヘルプを見る限り存在しませんでした。

  • document.selection.Text:文書全体をCtrl+Aなどで選択状態にしてからマクロを実行しているのでしょうか?
    document.selection.SelectAllを使うと文書全体をマクロで選択状態にすることができるようです。

  • document.selection.Replaceの引数:eeFindReplaceAllはヘルプを見る限り存在しませんでした。eeReplaceAllの誤りですか?

  • document.selection.Replaceの引数:eeFindReplaceRegExpは、今回は正規表現による置換では無いため、指定する意味はないと思います(あっても無害かもしれませんが)。

1Like

Comments

  1. @Applekdz

    Questioner

    回答ありがとうございます。

Your answer might help someone💌