0

我有一个脚本,它通过电子表格,从单元格中检索值并将值插入到文档中。该代码运行良好,但我注意到当我复制文档时,运行相同的代码并在代码中传递文档 ID,我收到以下错误:

找不到具有给定 ID 的项目,或者您无权访问它。

我试图将文档公开,但我得到了同样的错误。有趣的是,如果我创建一个新文档并将该文档 ID 传递给函数,它就可以正常工作。

编码:

var templateid = "1IrEbukq3cVKg9MAPT-Aanfe4XCzoc-RCJKq6sOpQKGU"; // get template file id    
var copyDoc = DocsList.getFileById(templateid).makeCopy(docName);
4

1 回答 1

0

我不确定我是否完全理解您出现问题的时间,但我猜是您尝试访问 copyDoc 时。这是因为您尝试通过其 ID 访问它(从错误消息中显示)并且您没有它:从您在此处编写的代码中 copyDoc 是一个文档,如果您想要它的 ID,只需.getId()在末尾添加即可这个 :

var copyDoc = DocsList.getFileById(templateid).makeCopy(docName).getId();

希望我猜对了;-)

你也可以这样做,这样你就可以使用所有东西了:

  var doctemplate = DocumentApp.openById("1IrEbukq3cVKg9MAPT-Aanfe4XCzoc-RCJKq6sOpQKGU");// this can be placed outside the function as a global variable
  var docname="new name for the copy";
  var copydoc=DocsList.copy(doctemplate,docname);
  var copydocId = copydoc.getId();

编辑:纠正 jwesonga 评论后代码中的错误(谢谢)

于 2012-06-26T15:03:50.583 回答