一个google-app-script电子表格(inputBookObj)有3张纸
[0] "ABC"
[1] "DEF"
[2] "HIJ"
如何在工作表名称为“ DEF”的情况下获得序列“ 1”而不在“ inputBookObj”中循环所有工作表?
我已经尝试过工作表Class .getId(),它不返回序列。
var startSheetObj = inputBookObj.getSheetByName("DEF");
var startSheetId = startSheetObj.getSheetId();
for (var st_idx = startSheetId; st_idx >= 0; st_idx --) {
我希望startSheetId为1,但我会得到2050320780。
答案 0 :(得分:2)
GridId与工作表索引不同。您可以使用sheet.getIndex()
获取父级中工作表的索引。
var startSheetObj = inputBookObj.getSheetByName("DEF");
var startSheetId = startSheetObj.getIndex();//-1, if you want to start from 0
Logger.log(startSheetId);//logs 2
答案 1 :(得分:0)
示例:
var startSheetObj = inputBookObj.getSheets()[1];
或者,您要遍历电子表格的所有工作表:
var sheets=inputBookObj.getSheets();
for (var st_idx = sheets.length; st_idx >= 0; st_idx --) {
...
}
关于工作表ID,它是电子表格网址末尾的数字, 例如
...gid=0
表示工作表ID为0
。但是,如果您插入 第二张纸,其ID类似于...gid=1668900245
- 没有连续的顺序,除非您使用 Sheets API,您可以在其中指定新工作表的ID。