Google apps script 在多个工作表中搜索一个单词
大家好Google apps script 在多个工作表中搜索一个单词,google-apps-script,google-sheets,Google Apps Script,Google Sheets,大家好 我有一个包含多个表/页的表,我想在其中查找存储在单元格中的值。我通过绘画中的图片触发脚本。 在下面的例子中,我想搜索单词Test。使用我的方法,我需要在每个站点上手动搜索每个站点以查找单词。 单词 数 其他 试验 2. 嘿 基于此: 函数循环表(单元格){ //所有床单 var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets(); //环路 对于(变量i=0;ir.getRow()).join(”)orvar search\u
我有一个包含多个表/页的表,我想在其中查找存储在单元格中的值。我通过绘画中的图片触发脚本。
在下面的例子中,我想搜索单词Test。使用我的方法,我需要在每个站点上手动搜索每个站点以查找单词。
单词 数 其他 试验 2. 嘿 基于此:
函数循环表(单元格){
//所有床单
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
//环路
对于(变量i=0;i
我相信你的目标如下
function searchString(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var search_string = sheet.getRange("J22:M23").getValue();
var textFinder = ss.createTextFinder(search_string);
var search_rows = textFinder.findAll().map(r => ({sheetName: r.getSheet().getSheetName(), row: r.getRow()}));
var ui = SpreadsheetApp.getUi();
ui.alert("search row: " + JSON.stringify(search_rows));
}
- 您希望从Google电子表格中的所有工作表中搜索文本。
- 从
,搜索字符串的值是一个文本var search\u string=sheet.getRange(“J22:M23”).getValue()
- 从
- 在脚本中,使用了类工作表的
。在这种情况下,将从工作表中搜索createTextFinder(findText)
。为了从Google电子表格中的所有工作表中搜索findText
,您可以使用类电子表格的findText
createTextFinder(findText)
function searchString(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var search_string = sheet.getRange("J22:M23").getValue();
var textFinder = ss.createTextFinder(search_string);
var search_rows = textFinder.findAll().map(r => ({sheetName: r.getSheet().getSheetName(), row: r.getRow()}));
var ui = SpreadsheetApp.getUi();
ui.alert("search row: " + JSON.stringify(search_rows));
}
修改脚本:
请按如下方式修改您的脚本
function searchString(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var search_string = sheet.getRange("J22:M23").getValue();
var textFinder = ss.createTextFinder(search_string);
var search_rows = textFinder.findAll().map(r => ({sheetName: r.getSheet().getSheetName(), row: r.getRow()}));
var ui = SpreadsheetApp.getUi();
ui.alert("search row: " + JSON.stringify(search_rows));
}
- 在此修改后的脚本中,作为示例输出值,将显示图纸名称和行号
var search\u rows=textFinder.findAll().map(r=>r.getRow()).join(
”)
orvar search\u rows=textFinder.findAll().map(r=>r.getRow()).join(“\n”)代码>?如果我误解了你的新问题,我道歉。不,不,我真的认为我的问题措词不当。又来了。代码的输出是搜索:[{“sheetName”:“Eingabe”,“row”:22},{“sheetName”:“Option1”,“row”:8},{“sheetName”:“Option1”,“row”:14},{“sheetName”:“Option5”,“row”:3}
但我希望它是搜索:[{“sheetName”:“Eingabe”,“row”:22},
ui中的新行{code>{“sheetName”:“Option1”,“row”:8}]
@Michael Krapf感谢您的回复。我不得不为我糟糕的英语水平道歉。不幸的是,从你的回答中,我无法理解你提出新问题的目的。我能问一下你的新问题目标的细节吗?我想通过正确理解你的新问题来思考它的解决方案。我为此道歉。