我正在尝试创建用于创建合同的脚本。为此,请参见“模板文件,它将成为gDrive上的文本文件”示例:
Client's VAT: $VAT
Client's Name: $Clients_name
如何获取此文件内容(getBody()仅适用于“文档类型”,但您无法访问Document实例,因为我发现的所有可能性都导致我进入File实例。。)
我的目标是获取“模板文件”的精确副本,并仔细检查并更改以美元开头的单词,并通过HTTP请求中的值更改单词。 (这部分已经完成。)
编辑:
您可能对我的尝试感兴趣(或者它可以帮助某人)
function createContract(obj)
{
const templateName = "RC - Contract Template";
const templateFile = getTemplate(templateName);
const templateText = templateFile.getAs("plain/text");
const file = DocumentApp.create(obj.filename);
const body = file.getBody();
const url = file.getUrl();
body.insertParagraph(0, templateText);
HtmlService.createHtmlOutput(url);
}
注意: getTemplate()是遍历所有文件并返回名称为'RC-Contract Template'的File实例的函数
答案 0 :(得分:0)
经过一些搜索,我发现Google在“文件”,“文档”等之间有很大的区别。
如果有人遇到相同的情况,这是我仅在知道姓名的情况下获取文件内容的方法:
function getTemplateId(filename) {
const files = DriveApp.getFilesByType(MimeType.GOOGLE_DOCS);
while (files.hasNext()) {
var file = files.next();
if (file.getName() == filename) return file.getId();
}
return HtmlService.createHtmlOutput("Required template: " + filename + " does not exists!");
}
注意:OP从问题中发布了移动解决方案: