Google apps script 从电子表格更新文档模板

Google apps script 从电子表格更新文档模板,google-apps-script,Google Apps Script,我可以创建模板的副本并重命名它。但我无法从电子表格中获取数据来填充新文档。错误消息: TypeError:在对象文件中找不到函数getBody 我假设copy函数没有打开文档,我需要先打开它,然后才能访问主体,但我不知道如何打开文档,因为我正在创建它,而且还不知道它的ID var file = DocsList.find("Primary Conducting Sheet TEMPLATE")[0]; var copy = file.makeCopy("Primary Conducting Sh

我可以创建模板的副本并重命名它。但我无法从电子表格中获取数据来填充新文档。错误消息:

TypeError:在对象文件中找不到函数getBody

我假设copy函数没有打开文档,我需要先打开它,然后才能访问主体,但我不知道如何打开文档,因为我正在创建它,而且还不知道它的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());

提前谢谢

您混淆了
DocsList
文件对象和
documentpp
文档对象

获取副本时,使用
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在评论中提到的帖子,它肯定会帮助您避免此类错误;-)

关于类/方法匹配,我知道你会接电话的。工作起来很有魅力。谢谢您的解释和代码。不客气:-)。只是一个问题:为什么你要用带有s的getValues来获取单个单元格的值?因为我没有编码方面的背景,我通过搜索这些论坛来自学!不带“s”的.getValue()是否也能正常工作?我和“s”一起使用,只得到一个电池,会伤害到什么吗?谢谢回答得好!(不是开玩笑)问题是getValues返回一个值矩阵(在本例中是一个只有一个值的数组),而不是一个值,这有时可能会导致一些问题。最后查看logger.log特性和执行记录,您将看到一些指示“数组类型”的[括号]。我很同情自学成才的人,坚持下去,祝你好运;-)