我的Google电子表格中有大约50张,并希望从不同的工作表中返回不同的值。但是,使用getSheetByName将工作表名称作为键是不安全的,因为它们很容易更改。我想知道是否有任何方法可以使用gid-ID我看到每个电子表格更改为关键?或其他什么?
以下是我现在使用的内容:
var ssValve = SpreadsheetApp.openById('Key').getSheetByName("SheetName")
答案 0 :(得分:1)
没有原生方法,但您可以为此构建一个函数:
function getSheetById(masterSheet, sheetId) {
var ss = SpreadsheetApp.openById(masterSheet);
var sheet = ss.getSheets();
for( i in sheet )
if( sheetId == sheet[i].getSheetId())
return sheet[i];
return -1;
}
答案 1 :(得分:0)
YES! gid是工作簿中各个工作表的不可更改的唯一标识符。
令人惊讶的是,您不能将脚本作为基本标识符,如GetSheetByID()。我将在我的工作表中使用您的代码。
建议将mastersheet变量重命名为更标准的内容,例如“spreadsheetKey”或“workbookKey”。
答案 2 :(得分:-1)
您可以使用getSheetId()
。
var ssValve = SpreadsheetApp.openById('Key').getSheets()[0]
将[0]
更改为[1] [2] [3]
,依此类推...从sheet1转到2,3,4等等
更多信息here