0

我正在寻找复制“模板”谷歌幻灯片文件,然后修改新创建文件中的文本字段。我在打开复制的文件时遇到问题。我是 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 表单中的用户信息填写培训证书。

为什么我会收到该错误以及如何解决。谢谢

4

1 回答 1

1

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

return SlidesApp.openById(newFile.getId()); 
于 2018-09-06T21:37:58.890 回答