1

我有一个 Google Drive 文档,它使用 Google Apps Scripts 将值写入 Google Drive 电子表格。

与文档关联的脚本看起来很像这样:

// must change value to actual spreadsheet ID
RobProject.spreadsheetID  = "spreadsheetID";

function onOpen()
{
    // do stuff;
}

每次创建电子表格及其相关文档时,我都会手动将值更改spreadsheetID 为电子表格的 ID,以便文档知道应该将值写入哪个电子表格。

我想要一种编程方式来为spreadsheetID文档的脚本填写正确的值。

当我搜索“以编程方式编辑脚本”时,我会得到有关创建 Google Apps 脚本的教程,而不是使用脚本编辑脚本。有没有办法使用 Google Apps 脚本编辑 Google Apps 脚本?

4

2 回答 2

2

如果我理解正确,您正在使用文档和电子表格。文档需要知道电子表格的 ID。

有一些方法可以通过 API 访问 Google Apps 脚本代码,但这仅适用于独立项目,不适用于容器绑定脚本(很遗憾)。

您可以考虑为文档和电子表格使用命名约定,以便您可以使用 Drive 服务从文档获取电子表格 (DriveApp.getFilesByName())。或者可能按文件夹组织它们(DriveApp.getFoldersByName()、folder.getFiles())。

如果您想将电子表格 ID 存储在项目属性中,您可以在文档中构建一个 UI,让用户在云端硬盘中打开文件列表并选择关联的电子表格,然后存储 ID (ScriptProperties.setProperty('SpreadsheetId '))。

于 2013-10-10T22:58:07.857 回答
1

不要忘记onOpen有一个参数。您可以使用以下代码:

// Define global variable somewhere 
RobProject = {};

function onOpen(e) {

  RobProject.sSheet = e.source; // maybe the spreadsheet object is as useful as the ID
  RobProject.spreadsheetID = e.source.getId();

    // do stuff;
}

为了您自己,请不要尝试编写自修改代码。

于 2013-08-07T12:05:45.623 回答