私はテキストまたは単語を見つける必要がある文書を持っています。単語またはテキストが見つかった場合、次の選択肢に移動するたびに関数を実行します。それが最後にある場合は、メモ帳でオプションを見つけるのと同じように循環的に上に行くべきです。Google Docsでクローズド検索を行うには?
これを行う方法はありますか?
私は約findText(searchPattern, from)
を知っていますが、使用方法は分かりません。
私はテキストまたは単語を見つける必要がある文書を持っています。単語またはテキストが見つかった場合、次の選択肢に移動するたびに関数を実行します。それが最後にある場合は、メモ帳でオプションを見つけるのと同じように循環的に上に行くべきです。Google Docsでクローズド検索を行うには?
これを行う方法はありますか?
私は約findText(searchPattern, from)
を知っていますが、使用方法は分かりません。
DocumentAppにはいくつかのラッパーとクラスがあります。それらはファイルの内容を扱うのに役立ちます。
彼らが担当しているものを慎重に理解することが必要です。あなたの場合、下のコードは正常に動作するはずです:
function myFunctionDoc() {
// sets the search pattern
var searchPattern = '29';
// works with current document
var document = DocumentApp.getActiveDocument();
// detects selection
var selection = document.getSelection();
if (!selection) {
if (!document.getCursor()) return;
selection = document.setSelection(document.newRange().addElement(document.getCursor().getElement()).build()).getSelection();
}
selection = selection.getRangeElements()[0];
// searches
var currentDocument = findNext(document, searchPattern, selection, function(rangeElement) {
// This is the callback body
var doc = this;
var rangeBuilder = doc.newRange();
if (rangeElement) {
rangeBuilder.addElement(rangeElement.getElement());
} else {
rangeBuilder.addElement(doc.getBody().asText(), 0, 0);
}
return doc.setSelection(rangeBuilder.build());
}.bind(document));
}
// the search engine is implemented on body.findText
function findNext(document, searchPattern, from, callback) {
var body = document.getBody();
var rangeElement = body.findText(searchPattern, from);
return callback(rangeElement);
}
パターンを探します。 body.findText
がundefined
を返した場合は、文書の先頭に設定されます。
私はその主題について要点を持っていますhttps://gist.github.com/oshliaer/d468759b3587cfb424348fa722765187
@ user3436029この回答は役に立ちましたか?通常、解決済みとマークされます。 – oshliaer
質問はどこですか?これはリクエストのように書式設定されていますが、これはこのコミュニティの性質ではありません。あなたが何かをしようとしている場合、それは動作していません、あなたはそれを修正/デバッグしようとしました。あなたのコード、あなたが受け取ったエラー、あなたが試したものに関する情報を掲示してください。 –
あなたは単にJavascriptの部分文字列関数を使用することができます、あなたの文書とその形式を含めることはできますか? – Amir