在应用程序脚本中构建段落



不太确定为什么(不是真的:这是因为我作为编码员是胚胎并且不够精致(,但我什至无法保存我的代码集的这一部分。

我只是在Google文档模板中识别现有的文本"##XXXX##",然后将其替换为由文本和电子表格中导入的文本组成的段落。

我确定问题出在body.insertParagraph上,因为我在插入段落时动态构建段落。但是,这还能怎么做呢?

var foundTag = body.findText("##XXXX##");
var tagElement = foundTag.getElement();
var parent = tagElement.getParent();
var insertPoint = parent.getParent().getChildIndex(parent);
// Build the paragraph to insert
var songBlock = body.insertParagraph(insertpoint, {
for(var i = 0; i < num; i++) {
var songName = String(dataArray[i][1]);
var sWs = String(dataArray[i][2]);
var pub =  String(dataArray[i][3]);
appendText("Song Name:" + brk);
appendText(songName + brk);
appendText("Songwriter(s):" + brk);
appendText(sWs + brk);
appendText("Publisher(s):" + brk);
appendText(pub + brk);
appendHorizontalRule();
appendText(brk);
}       

我让它使用以下代码:

// Prepare to write song data
var foundTag = body.findText("##XXXX##");
Logger.log('found it', foundTag);
var tagElement = foundTag.getElement();
var parent = tagElement.getParent();
var insertPoint = parent.getParent().getChildIndex(parent);
var text = body.editAsText();
var songBlock = "n"
// Build the text to insert
for(var i = 0; i < num; i++) {
var songName = String(dataArray[i][1]);
var sWs = String(dataArray[i][2]);
var pub =  String(dataArray[i][3]);
songBlock = (songBlock + "Song Name:" + brk);
songBlock = (songBlock + songName + brk);
songBlock = (songBlock + "Songwriter(s):" + brk);
songBlock = (songBlock + sWs + brk);
songBlock = (songBlock + "Publisher(s):" + brk);
songBlock = (songBlock + pub + brk);
songBlock = (songBlock + brk);
}       
// Insert text at the beginning of the document.
text.insertText(insertPoint, songBlock);

问题现在正在插入,但这是针对另一篇文章的。

最新更新