「文書から検索」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
URLの修正
MSY-07 (トーク | 投稿記録)
省略された波括弧の追加
10行目: 10行目:


var s = prompt("検索", "");
var s = prompt("検索", "");
if (s == "")
if (s == "") {
     Quit();
     Quit();
}


editor.NewFile();
editor.NewFile();
18行目: 19行目:
for (var e = new Enumerator(editor.documents); !e.atEnd(); e.moveNext()) {
for (var e = new Enumerator(editor.documents); !e.atEnd(); e.moveNext()) {
   var item = e.item();
   var item = e.item();
   if (item != d)
   if (item != d) {
     d.selection.Text = Find(item, r);
     d.selection.Text = Find(item, r);
  }
}
}
with (d.selection) {
with (d.selection) {
33行目: 35行目:
     for (var i = 0; i < s1.length; i++) {
     for (var i = 0; i < s1.length; i++) {
         var s3 = r.exec(s1[i]);
         var s3 = r.exec(s1[i]);
         if (s3)
         if (s3) {
             s2.push((d.FullName != "" ? d.FullName : "無題") + "(" + (i + 1) + "): " + s1[i]);
             s2.push((d.FullName != "" ? d.FullName : "無題") + "(" + (i + 1) + "): " + s1[i]);
        }
     }
     }
     s3 = s2.join("\n");
     s3 = s2.join("\n");

2023年10月20日 (金) 14:15時点における版

現在開いているすべての文書から文字列を検索します。

// -----------------------------------------------------------------------------
// 文書から検索
//
// Copyright (c) Kuro. All Rights Reserved.
// www:    https://www.haijin-boys.com/
// -----------------------------------------------------------------------------

var s = prompt("検索", "");
if (s == "") {
    Quit();
}

editor.NewFile();
var d = editor.ActiveDocument;
var r = new RegExp(s, "i");
for (var e = new Enumerator(editor.documents); !e.atEnd(); e.moveNext()) {
  var item = e.item();
  if (item != d) {
    d.selection.Text = Find(item, r);
  }
}
with (d.selection) {
    StartOfDocument();
    Find(s, meFindNext + meFindReplaceRegExp);
    StartOfDocument();
}

function Find(d, r) {
    var s1 = d.Text.split("\n");
    var s2  = new Array();
    var s3 = "";
    for (var i = 0; i < s1.length; i++) {
        var s3 = r.exec(s1[i]);
        if (s3) {
            s2.push((d.FullName != "" ? d.FullName : "無題") + "(" + (i + 1) + "): " + s1[i]);
        }
    }
    s3 = s2.join("\n");
    return s3 != "" ? (s3 + "\n") : "";
}
スポンサーリンク