按名称而不是索引引用 sheet?

Reference sheet by name, not index?

我有一个 Google 表格工作簿,它链接到其他工作簿中的其他 sheet 个工作簿。我需要链接的 (child) sheet 才能知道链接到它们 (parent) 的 Worksheet/Cell。

要引用 parent 作品sheet,我这样做:

var linkCell = SpreadsheetApp.openById("1-Ekv2f4CYjf6ivGxsJCnAeSY_4b86k1gCw").getSheets()[1].getRange("D20");

这很好用,但我的用户偶尔需要移动 parent 工作簿中的工作 sheet,这会破坏链接,因为 sheet 索引发生变化(在上面例如,索引可能会从 [1] 更改为 [3])。

我尝试使用 sheet 名称作为索引(例如 .getSheets()["sheetName"].getRange("D20"); 但这似乎不起作用。现在我正在尝试使用 'for each' 循环,但直接引用 sheet 名称肯定会更直接。

这可以做到吗?

死简单的人,你只需要使用

//Get the worksheet object to get the range
var worksheet =SpreadsheetApp.openById("1-Ekv2f4CYjf6ivGxsJCnAeSY_4b86k1gCw").getSheetByName(<WORKSHEET_NAME_IN_DOUBLE_QUOTES>);

希望这对您有所帮助:)