从电子表格更新文档模板

时间:2013-12-04 17:53:55

标签: google-apps-script

我可以创建模板的副本并重命名。但是我无法从电子表格中获取数据来填充新的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());

提前致谢!

1 个答案:

答案 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在评论中提到的帖子,它肯定会帮助您避免此类错误; - )