本文介绍了Google表格中多个表格的一项功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Google表格中,我必须重复一个功能,因为 getSheetByName()
不接受表格数组,它仅接受一个表格.
有没有一种方法可以循环遍历指定的工作表(不是所有工作表)?
即
("Sheet1","Sheet2")等.
in Google Sheets I have to repeat a function because getSheetByName()
does not accept an array of sheets, it only accepts one sheet.
Is there a way to have one function that loops through specified sheets (not all sheets)?
i.e.
("Sheet1", "Sheet2" ) etc.
function recordHistory_1() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var source = sheet.getRange("A2:B2");
var values = source.getValues();
values[0][0] = new Date();
sheet.appendRow(values[0]);
};
function recordHistory_2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet2");
var source = sheet.getRange("A2:B2");
var values = source.getValues();
values[0][0] = new Date();
sheet.appendRow(values[0]);
};
我问的原因是因为我有20多张纸,所以我必须写20次此函数...
Reason I'm asking is because I have over 20 sheets, and so I have to write this function 20 times...
推荐答案
您还可以调用一次函数,并在函数内部遍历一系列工作表名称.
You can also call the function once and loop through an array of sheetnames inside the function.
function recordHistory() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
["Sheet1", "Sheet2", "Sheet3"].forEach(function (s) {
var sheet = ss.getSheetByName(s);
var values = sheet.getRange('A2:B2').getValues()
values[0][0] = new Date();
sheet.appendRow(values[0]);
})
}
这篇关于Google表格中多个表格的一项功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!