我可以创建模板的副本并重命名。但是我无法从电子表格中获取数据来填充新的Doc。错误讯息:
TypeError:无法在对象文件中找到函数getBody。
我假设复制功能没有打开文档,我需要打开它才能访问正文,但我不知道如何打开文档,因为我正在创建它并且不要知道它的ID。
var file = DocsList.find("Primary Conducting Sheet TEMPLATE")[0];
var copy = file.makeCopy("Primary Conducting Sheet for Upcoming Sunday");
var body = copy.getBody();
body.replaceText('{date}', sheet.getRange('B2').getValues());
提前致谢!
答案 0 :(得分:1)
您在DocsList
文件对象和documentApp
文档对象之间产生了混淆。
获得副本后,请使用getId()
获取其ID,然后使用DocumentApp
方法将其打开。
逐步例证:
var file = DocsList.find("Primary Conducting Sheet TEMPLATE")[0];
var copy = file.makeCopy("Primary Conducting Sheet for Upcoming Sunday");
var copyId = copy.getId();
var docCopy = DocumentApp.openById(copyId);
var body = docCopy.getBody();
body.replaceText('{date}', sheet.getRange('B2').getValues());
编辑: 并且,阅读Mogsdad在评论中提到的帖子,它肯定会帮助您避免此类错误; - )