我是编码和GAS的新手。在搜索了无数的样本和指南之后,我一直在编写一个脚本几天,而且卡住了!
我正在为员工会议制定滚动或运行的议程。在doc的开头,将是基于文档中使用的标题的目录。然后每周,将添加该周的“条目”。我想要做的是能够运行脚本来添加基本条目信息,然后在会议期间添加,这样就不必每次都重写文本。
我想做什么:
目录
条目1
第2条
条目3
我希望能够运行脚本,因此条目4将会在此处
条目3
dfafasdfasdfas
afadafadfafd
条目2
dfafasdfasdfas
afadafadfafd
条目1
dfafasdfasdfas
afadafadfafd
我使用insertParagraph编写了一个脚本。我知道还有“appendParagraph”,但它始终将文本放在文档的底部。问题是,insertParagraph将新条目放在文档的最顶部 - 位于目录之上。我正在寻找一种方法在目录之后直接插入此文本“块”。
我尝试过更改内容,因此它比Paragraph更低级(即使用getCursor的文本),但是我无法使用标题进行格式化。
注意:我并不是要尝试使用脚本插入目录 - 我可以在Google文档中执行此操作,并根据标题对其进行更新,假设我可以保留标题!
谢谢!
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 :(得分:1)
它将自己安装为侧边栏。希望它对你有用。我用它完成的大部分工作都与身体有关。我没有弄乱页眉或页脚。我不认为你可以改变每个页面的标题,但我可能是错的。我在为此工具获取所有必要文件时遇到了一些困难,现在I've put them altogether here。