Google表格= getId()脚本无法复制某些表格

时间:2019-05-30 10:48:08

标签: google-apps-script google-sheets

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

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

在单元格中,我添加了:

    =getId()

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

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

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

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

1 个答案:

答案 0 :(得分:1)

在使用function getId()的单元格中进行调用时,您=getId()的代码对我不起作用,它根本不返回任何内容。

尝试以下方法:

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

这应该使用公式返回电子表格ID,我已经测试过要制作表格的副本,并且它会按预期更新。