![](/img/trans.png)
[英]How to set a certain number of spaces or indents before a Paragraph in Google Docs using Google Apps Script
[英]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脚本方法?
我能够达到以下要求:
遍历文档和流程段落中的所有元素:
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); } }
收集段落文本中的所有标记
从文档中删除该段落,因为我们在最终文档中不需要模板化的段落
制作模板段落的分离副本
替换分离副本中的令牌
总体而言,该函数如下所示:
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.