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

对于某些复制的工作表,Google sheet=getId()脚本失败

上官扬
2023-03-14

我使用此脚本返回打开的电子表格的ID:

    function getId() {
        SpreadsheetApp.getActiveSpreadsheet().getId()
    }

在单元格中,我添加了:

    =getId()

问题是,当我复制电子表格时,新的电子表格返回原始电子表格的ID,而不是活动工作表的ID。

如果我在活动工作表的新单元格中输入=getId(),它将返回正确的ID。因此,脚本显然正在工作,它不仅仅是“刷新”复制工作表的数据。

(奇怪的是,这以前是有效的!我不知道发生了什么变化,但它已停止返回新的ID值。)

有人能建议如何确保显示活动工作表的ID吗?

共有1个答案

楚钊
2023-03-14

当使用=getId()从单元格调用时,您的函数getId()的代码对我不起作用,它根本不返回任何内容。

试试这个吧:

function getId() {
  var id = SpreadsheetApp.getActiveSpreadsheet().getId();
  return id;
}

这将返回使用公式的电子表格ID,我已经测试了制作一份工作表的副本,它会按预期更新。

 类似资料:
  • 我正在使用谷歌工作表。我有两张名为App Catgeory和目录类别。 应用类别有两列:-1.类别名称2.是可选择的 在目录类别中,我有一个类别选择下拉列表,它是从应用程序类别表的类别名称列创建的。“类别名称”列中的所有值在下拉列表中可用。下拉列表由以下数据验证公式创建:- 但是,我想要这样的类别名称在下拉列表中有是可选择的列值是在应用类别。如果是可选择的列值为否,则不需要在下拉列表中显示此类类别

  • 我有一份Jenkins Multi-branch的工作,从GitLab签出并构建代码。直到最近,它还可以正常工作,但现在一些(但不是全部)来自优秀大师的分支无法构建。大师总是建造没有问题。当我从GitLab中的repo或通过git checkout-b本地分支master并推回到GitLab,然后允许多分支作业拾取新分支时,它无法构建它。我从管道插件SCMBinder类得到消息:“无法确定[bra

  • 有人能帮我把脚本布局转换成实际的功能代码吗?我有一般的编码知识,但我不知道正确的语法。 基本上,我需要的是一个脚本,当提交表单条目时,它会在所有工作表/选项卡之间循环。表单包含提交表单的人的姓名(字符串)、开始日期、结束日期,最后是注释字段(字符串)。 我需要脚本来遍历每个工作表的第5行,并查找在第一个表单字段中输入的字符串(提交表单的人的姓名)。如果它找到了该名称,它应该将与该名称对应的列保存到

  • 我对docker并不陌生,但我主要使用预构建的图像,我使用Docker-Compose连接这些图像。我需要一个超级基本的容器,它只读取日志文件并将内容流式传输到stdout,因为我在另一个容器中有权限问题。 以下是我的dockerfile: sheel脚本如下所示(目前--我正在测试) 正如您所看到的,我希望截断一些日志文件,然后连续地读取它。

  • 我有一个包含多个属性的属性文件。多个对多个(我们的)产品有效,有些只对一个产品有效(不能通过属性名称区分)。因此,在一个产品基于ANT的构建过程中,我想将包含所有属性的原始文件复制到产品特定文件中,跳过适用于其他产品的部分。我可以想象使用一些开始和结束标记,例如。 对于产品 1,我想获取文件 和产品2 ANT是否可能实现这样的事情,或者我应该编写自己的Java帮助程序类?

  • 我最近在GoogleSheets的脚本编辑器中添加了一个脚本,可以根据D列中的值对我的页面进行自动排序。该脚本被设置为应用于活动页面–我们称之为“sheet a” 使用工作表A,人们可以按降序查看数据排序,这很好。每次对图纸a进行更改/编辑时,数据都会自动恢复。 我在工作表A中做了大量的单元格合并、样式设置、条件格式设置等,我不想再重新创建它。所以我复制了A页- 问题:我在表A中添加的自定义脚本正