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

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
URLの修正
編集の要約なし
 
(2人の利用者による、間の6版が非表示)
1行目: 1行目:
現在開いているすべての文書から文字列を検索します。
現在開いているすべての文書から文字列を検索します。


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
// -----------------------------------------------------------------------------
// 文書から検索
//
// Copyright (c) Kuro. All Rights Reserved.
// www:    https://www.haijin-boys.com/
// -----------------------------------------------------------------------------
 
var s = prompt("検索", "");
var s = prompt("検索", "");
if (s == "")
if (!s) {
    Quit();
Quit();
}


editor.NewFile();
editor.NewFile();
17行目: 11行目:
var r = new RegExp(s, "i");
var r = new RegExp(s, "i");
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) {
    StartOfDocument();
    Find(s, meFindNext + meFindReplaceRegExp);
    StartOfDocument();
}
}
d.selection.StartOfDocument();
d.selection.Find(s, meFindNext + meFindReplaceRegExp);
d.selection.StartOfDocument();


function Find(d, r) {
function Find(d, r) {
    var s1 = d.Text.split("\n");
var s1 = d.Text.split("\n");
    var s2 = new Array();
var s2 = [];
    var s3 = "";
var s3 = "";
    for (var i = 0; i < s1.length; i++) {
for (var i = 0; i < s1.length; i++) {
        var s3 = r.exec(s1[i]);
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");
}
    return s3 != "" ? (s3 + "\n") : "";
s3 = s2.join("\n");
return s3 != "" ? (s3 + "\n") : "";
}
}
</syntaxhighlight>
</syntaxhighlight>

2025年6月29日 (日) 13:25時点における最新版

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

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);
	}
}
d.selection.StartOfDocument();
d.selection.Find(s, meFindNext + meFindReplaceRegExp);
d.selection.StartOfDocument();

function Find(d, r) {
	var s1 = d.Text.split("\n");
	var s2 = [];
	var s3 = "";
	for (var i = 0; i < s1.length; i++) {
		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") : "";
}
スポンサーリンク