我正在开展一个项目,该项目执行表单信息与模板的邮件合并并通过电子邮件发送文档。现在我需要更改,以便将文档保存到名为“OUTPUT”的驱动器文件夹中。根据我的工作原始代码,我有:
grid-template-columns: repeat(3, auto);
合并的'doc'文件保存到数组中。接下来,我尝试使用:
遍历文档数组 for (i in templateNamesArray) {
var templateName = templateNamesArray[i];
var newNameArray = templateName.split(' of ')
var templateid = getTemplateIdByName(templateName);
var docid = DriveApp.getFileById(templateid).makeCopy(newNameArray[1]).getId();
var doc = DocumentApp.openById(docid);
var body = doc.getBody();
Logger.log(body);
Object.keys(formObject).forEach(function(key) {
var field = '%' + key + '%';
var val = formObject[key];
body.replaceText(field, val);
});
doc.saveAndClose();
documentArray.push(doc);
}
然而,“folder.addFile(docFile)”行失败,并且在OUTPUT中没有创建任何文件。但是由于SaveandClose函数,它们被保存在我假定的模板文件夹中。我怎样才能使这个工作?
答案 0 :(得分:1)
将文件添加到documentArray
,以便在DriveApp
中使用时,使用抓取文件的DriveApp
方法而非使用DocumentApp
中的文档应该可以正常工作< / p>
...
doc.saveAndClose();
documentArray.push(DriveApp.getFileById(docid));
}
编辑:addFile
for (i in documentArray) {
folder.addFile(documentArray[i])
}