2

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

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

  return Sheet.getName();
}

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

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

我想这是谷歌文档的运作方式,但我不知道如何解决这个问题。

4

1 回答 1

1

Henrique 很好地解释了为什么像这样的自定义函数不会在Script 中更新以汇总未更新的数据。

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

David Tew 提到的GOOGLECLOCK()函数提供了每分钟一次的更改参数,导致重新评估函数,但在“新工作表”中不可用。所以你运气不好。

于 2015-06-12T02:24:57.503 回答