模板文本文档

时间:2018-10-09 17:27:01

标签: google-apps-script google-docs

我正在尝试创建用于创建合同的脚本。为此,请参见“模板文件,它将成为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实例的函数

1 个答案:

答案 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从问题中发布了移动解决方案: