当前位置: 首页 > 知识库问答 >
问题:

getActiveSpreadSheet(). getActiveSheet(). getName()没有更新新的工作表名称

裴成文
2023-03-14

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

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

  return Sheet.getName();
}

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

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

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

共有1个答案

任元青
2023-03-14

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

这可以归结为谷歌表单中的优化决策;仅当自定义函数的参数发生更改时,才会对其重新求值。您的函数没有参数-因此在电子表格打开时,它将永远不会被重新计算。

David Tew提到的GOOGLECLOCK()函数提供了一个每分钟更改一次的参数,该参数会导致重新评估函数,但在“新表”中不可用。你真倒霉。

 类似资料:
  • 我正在用一些初始数据绘制一个条形图,然后在单击按钮时尝试更新。我收到错误“未捕获的类型错误:无法读取未定义的属性'长度'”。单击更新后,将发生错误。如何解决此问题并启用更新功能以绘制新的条形图? D3代码:

  • 问题1:无法更新关系表 =2020-03-30 08:48:51,其中=132) 我有两个表和,其模式如下 问题2:是表单中的一个隐藏字段。但是,我更愿意从控制器传递它。有什么办法吗?

  • 我对python还很陌生,我正在尝试创建21点。然而,当我试图打印出玩家的手牌时,我遇到了一些困难。 这是我的击球(抽牌)代码: 这是我打印卡片的代码: 我的代码所做的第一件事是为庄家和玩家抽两张牌,这运行得很好。然而,当玩家抽到一张牌后,它就会变得有点摇摆不定。输出如下所示: 当我抽到一张新牌时,这张牌不变,它保持我抽到的最后一张牌。然后,当我打印我的甲板,它打印我的旧甲板和我的新甲板。但是,分

  • 在谷歌表单中,我有一个脚本,用于为提交的每个谷歌表单创建一个新表单。它应该基于最后一列G列(不是表单提交列)创建一个名为的新工作表。然后,它从最后一行和标题行获取信息,并将其复制到所创建工作表的前两行。它还将公式添加到单元格中,以将信息放入列中(转置),并根据创建的工作表对其进行格式化。 现在它正在创建工作表并复制公式和格式,但没有给它正确的名称或提取最后一行信息。 请帮忙~查尔斯 我复制了以下代

  • 我有多个谷歌电子表格与预订数据,如预订号码,客户端名称,电子邮件,预订日期等。在所有工作表中,这些列的顺序并不相同。 我想在一个“主”电子表格中更新我所有“源”表中的所有数据。这意味着,一旦添加新行或更新现有行,数据将同步到主电子表格 实现这一目标的最佳方式是什么?Javascript或者是否存在一些现有的Google Sheets插件? 示例表1:快速船预订 示例表2:机场中转预订 主表 非常感

  • 我阅读了一些在线教程,并使用宏记录来学习如何设置格式。但是我想知道有没有一种方法可以不使用.select来完成以下操作?或者程序员更喜欢的方式是什么? 简单宏的要求: 循环所有工作表(仅可见) 将粗体格式设置为顶部行,并将背景设置为灰色 将所选内容重置到A1位置 ()