2017-07-16 83 views
1

我是编码和GAS的新手。在搜索了无数的样本和指南后,我一直在为脚本工作几天,现在我陷入困境!在光标位置插入一段段落到Google Doc中

我正在为我的员工会议创建滚动或运行日程。在文档开始处将是基于文档中使用的标题的目录。然后每个星期,该周的“入口”将被添加。我想要做的是能够运行脚本添加基本条目信息,然后在会议期间添加,以便每次都不必重写文本。

我想要做的:内容
注册1
进入2
进入3

我希望能够运行脚本,以便进入4会去

表这里

条目3
个dfafasdfasdfas
afadafadfafd

注册2个
dfafasdfasdfas
afadafadfafd

注册1个
dfafasdfasdfas
afadafadfafd

我写了使用insertParagraph的脚本。我知道还有“appendParagraph”,但是它总是将文本放在文档的底部。问题是,insertParagraph将新条目放在文档的最顶端 - 位于目录之上。我正在寻找一种方法来将该文本“块”直接插入目录后面。

我试过改变东西,所以它比段落(即文本使用getCursor),但我不能使用标题格式。

注意:我并不试图在脚本中插入目录 - 我可以在Google Doc中执行此操作,并根据标题进行更新,假设我可以保留标题!

谢谢!

function AddText() { 

var body = DocumentApp.getActiveDocument().getBody(); 


var date = Utilities.formatDate(new Date(), "EST", "MM-dd-yyyy"); 
var header = body.insertParagraph(0,date); 
header.setHeading(DocumentApp.ParagraphHeading.HEADING3); 

var section = body.insertParagraph(1,"Members Present"); 
section.setHeading(DocumentApp.ParagraphHeading.HEADING4); 

body.insertParagraph(2,"Name 1, Name 2"); 

var section = body.insertParagraph(3,"Agenda"); 
section.setHeading(DocumentApp.ParagraphHeading.HEADING4); 

var item1 = body.insertListItem(4,'Discuss Topic (See Program: ProgLink)'); 

var url = 'https://www.google.com'; 

var doc = DocumentApp.getActiveDocument(); 
var element = doc.getBody().findText("ProgLink"); 
if(element){ // if found a match 
var start = element.getStartOffset(); 
var text = element.getElement().asText(); 
text.replaceText("ProgLink",url); 
text.setLinkUrl(start, start+url.length, url); 

Logger.log(item1.getListId()); 

var item2 = body.insertListItem(5,'Trends to Discuss'); 
item2.setListId(item1); 

var item3 = body.insertListItem(6,'Training'); 
item3.setListId(item1); 

var item4 = body.insertListItem(7,'Other Items'); 
item4.setListId(item1); 

} 
} 
+0

您可以使用insertParagraph(childIndex,paragraph)。子索引开始,然后0进入文档的结尾。你可能会猜想它会变成1或2,或者如果你喜欢,你可以使用我一直在处理的脚本。这不完整。这仍然是一项正在进行的工作,但如果应该帮助您可以帮助您找到孩子身体的位置。 – Cooper

回答

1

的谷歌文档

它安装本身作为一个侧边栏找钱内。希望它能为你工作。我所做的大部分工作都是在身体上进行的。我没有混淆页眉或页脚。我不认为你可以更改每个页面的标题,但我可能是错的。我有一些困难让所有必要的文件在一起这个工具,所以现在I've put them altogether here

+0

谢谢Cooper - 这个脚本对我来说不太合适(第二个到最后一行我得到一个错误,它找不到文件'htmlToBody')。不过,我接受了你的建议,并调整了孩子的索引号码,我认为这是行得通的! –

+0

对不起,我忘了补充一点。它现在在那里。 – Cooper