繁体   English   中英

使用Google Apps脚本在Google文档中插入段落,列表项

[英]Insert paragraph, listitem in google docs using google apps script

我有一个带有占位符的Google文档,需要使用Apps Script填充实际数据。 例如Google Doc内容:

这是模板文本。 并使用Google Apps脚本替换此{TOKEN1} ,此{TOKEN2}和此{TOKEN3}

要求是替换令牌并多次重复此段。 每次替换该段落时,都需要在该段落中放置一组不同的值。 格式不应中断,在这种情况下,标记应以粗体显示,因此值也应以粗体显示,如下所示:

这是模板文本。 使用Google Apps脚本替换此FOO1 ,此BAR1和此FUN1

这是模板文本。 使用Google Apps脚本替换此FOO2 ,此BAR2和此FUN2

这是模板文本。 使用Google Apps脚本替换此FOO3 ,此BAR3和此FUN3

您能否让我知道实现此功能的Apps脚本方法?

我能够达到以下要求:

  1. 遍历文档和流程段落中的所有元素:

     var elementCount = body.getNumChildren(); for(var i = 0; i < elementCount; i++) { var child = body.getChild(i); if(child.getType() === DocumentApp.ElementType.PARAGRAPH) { replaceTokensInParagraph(element.asParagraph(), i); } } 
  2. 收集段落文本中的所有标记

  3. 从文档中删除该段落,因为我们在最终文档中不需要模板化的段落

  4. 制作模板段落的分离副本

  5. 替换分离副本中的令牌

总体而言,该函数如下所示:

var replaceTokensInParagraph = function(paragraph, paragraphIndex) {
  paragraph.removeFromParent();
  var tokens = ....;
  for(int i=0; i<tokens.length; i++) {
     var paragraphCopy = paragraph.copy();
     paragraphCopy.replaceText(token, <value>);
     body.insertParagraph(paragraphIndex, paragraphCopy);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM