【问题标题】:Open copied google slide file打开复制的谷歌幻灯片文件
【发布时间】:2018-09-06 16:40:54
【问题描述】:

我希望复制“模板”Google 幻灯片文件,然后修改新创建文件中的文本字段。我在打开复制的文件时遇到问题。我是 Google 脚本的新手,发现一些似乎应该可以工作的代码,但我遇到了错误。这是代码和错误:

function createDuplicateDocument(sourceId, name) {
    var source = DriveApp.getFileById(sourceId);
    var targetFolder = DriveApp.getFolderById(TARGET_FOLDER);
    var newFile = source.makeCopy(name, targetFolder);
    return DocumentApp.openById(newFile.getId()); 
}
// Document is missing (perhaps it was deleted, or you don't have read access?) (line 35, file "Code") 

var SOURCE_TEMPLATE = "1OUztWdzh..."; // Google Doc id from the document template (Get id from the URL)
var TARGET_FOLDER = "1xsbW_pjZuN..."; //"Sent_Certificates"; // In which Google Drive we toss the target documents
var name = TRAINING_DATE + "_" + TRAINING_TYPE + "_" +TRAINING_USER
var filTxtFile = createDuplicateDocument(SOURCE_TEMPLATE, name);
replaceString(filTxtFile, "TRAINING_USER", TRAINING_USER);

运行代码后,我可以在正确的文件夹中看到新文件,但由于某种原因,脚本看不到它。 我还测试了将函数的代码与我的代码内联,但我无法打开复制的文件。我只是收到一条错误消息,指出文件丢失。我已确保退出所有其他帐户,甚至设置了一个睡眠计时器以查看它是否执行得太快。

最后,我的目标是使用 Google 表单中的用户信息填写培训证书。

为什么会出现该错误以及如何解决。 谢谢

【问题讨论】:

  • 您能否说明源文档是 Google 文档还是 Google 幻灯片文件?你称它为“演示文稿”,对我来说这意味着 Google 幻灯片,这可能就是问题所在。
  • 你能分享剩下的代码,让我们看看上下文吗?
  • @CameronRoberts 和 JSmith,我已经用更多细节编辑了原始问题。谢谢

标签: google-apps-script google-drive-api google-slides


【解决方案1】:

因为您正在处理一个幻灯片文件,所以您必须使用 SlidesApp 而不是 DocumentApp 打开它。 DocumentApp 仅处理 Google 文档,这就是您收到此错误的原因。

return SlidesApp.openById(newFile.getId()); 

【讨论】:

  • 很高兴知道,错误“文档丢失”表示 Google Doc,而不是通用文档。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多