getActiveSpreadsheet()。getActiveSheet()。getName()不使用新工作表名称更新

时间:2013-02-12 14:29:59

标签: google-apps-script google-sheets

我正在尝试为我的学校项目创建通用时间表。我创建了一个简单的函数来获取活动工作表的名称。

function SetSheetName() {
 var Sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  return Sheet.getName();
}

我第一次使用它时效果很好。但是,如果我更改工作表的名称并重新调用该函数,它仍然会获取工作表的旧名称。

例如,如果工作表的名称是“Sheet1”并且我在单元格中运行该函数,则单元格值将为Sheet1。但是,如果我更改同一张表的名称并重新调用该函数,无论如何我仍然会得到Sheet1。

我想这是谷歌文档的功能,但我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

Henrique很好地解释了为什么这样的自定义函数不会在Script to summarise data not updating中更新。

归结为Google表格中的优化决策;只有在参数更改后才会重新评估自定义函数。您的函数没有参数 - 因此在电子表格打开时永远不会重新评估它。

David Tew提到的GOOGLECLOCK()函数提供了每分钟一次的更改参数,该参数导致了对函数的重新评估,但在#34; New Sheets"中不可用。所以你的运气不好。