在文档的两点之间添加和删除内容
Adding and deleting content between two points on a document
我目前有一个文档,在 Whosebug 用户的帮助下,它随机生成问题,将其添加到文档末尾,然后能够删除所有发布的问题。这是基于删除水平规则下的所有内容。
Link 到包含示例文档和代码的 GDrive:LINK TO GDRIVE
您还可以在此处查看它当前的功能:https://imgur.com/QVrOZKu
但是,我现在只想在文档中的某个点之后添加内容,以及只删除两个特定点之间的内容。您可以在下面的图像中看到两条水平线,我想在其中 add/delete
内容。
图片中的第一条横线是文档中的第三条横线。
有没有人知道如何在这两点之间删除和添加内容?我试过使用子索引,但失败得很惨。
这与 类似,因此我调整了解决方案。第一个函数删除第 3 行和第 4 行之间的段落。当我们遍历段落时,它会计算水平线。当计数达到 3 时,开始删除后续段落。当超过3时,停止循环。
function deleteFrom3to4() {
var body = DocumentApp.getActiveDocument().getBody();
body.appendParagraph('');
var para = body.getParagraphs();
var ruleCount = 0;
for (var i = 0; i < para.length - 1; i++) {
if (para[i].findElement(DocumentApp.ElementType.HORIZONTAL_RULE)) {
ruleCount++;
}
else if (ruleCount == 3) {
body.removeChild(para[i]);
}
if (ruleCount > 3) {
break;
}
}
}
而这个是在第3横线后插入一段。再次,它循环直到找到第 3 行;在它之后插入一个段落(由 body.getChildIndex(para[i]) + 1
子索引表示)并停止。
function insertAfter3() {
var body = DocumentApp.getActiveDocument().getBody();
body.appendParagraph('');
var para = body.getParagraphs();
var ruleCount = 0;
for (var i = 0; i < para.length - 1; i++) {
if (para[i].findElement(DocumentApp.ElementType.HORIZONTAL_RULE)) {
ruleCount++;
}
if (ruleCount == 3) {
body.insertParagraph(body.getChildIndex(para[i]) + 1, "Here is a new paragraph");
break;
}
}
}
我目前有一个文档,在 Whosebug 用户的帮助下,它随机生成问题,将其添加到文档末尾,然后能够删除所有发布的问题。这是基于删除水平规则下的所有内容。
Link 到包含示例文档和代码的 GDrive:LINK TO GDRIVE
您还可以在此处查看它当前的功能:https://imgur.com/QVrOZKu
但是,我现在只想在文档中的某个点之后添加内容,以及只删除两个特定点之间的内容。您可以在下面的图像中看到两条水平线,我想在其中 add/delete 内容。
图片中的第一条横线是文档中的第三条横线。
有没有人知道如何在这两点之间删除和添加内容?我试过使用子索引,但失败得很惨。
这与
function deleteFrom3to4() {
var body = DocumentApp.getActiveDocument().getBody();
body.appendParagraph('');
var para = body.getParagraphs();
var ruleCount = 0;
for (var i = 0; i < para.length - 1; i++) {
if (para[i].findElement(DocumentApp.ElementType.HORIZONTAL_RULE)) {
ruleCount++;
}
else if (ruleCount == 3) {
body.removeChild(para[i]);
}
if (ruleCount > 3) {
break;
}
}
}
而这个是在第3横线后插入一段。再次,它循环直到找到第 3 行;在它之后插入一个段落(由 body.getChildIndex(para[i]) + 1
子索引表示)并停止。
function insertAfter3() {
var body = DocumentApp.getActiveDocument().getBody();
body.appendParagraph('');
var para = body.getParagraphs();
var ruleCount = 0;
for (var i = 0; i < para.length - 1; i++) {
if (para[i].findElement(DocumentApp.ElementType.HORIZONTAL_RULE)) {
ruleCount++;
}
if (ruleCount == 3) {
body.insertParagraph(body.getChildIndex(para[i]) + 1, "Here is a new paragraph");
break;
}
}
}