是否可以使用Apps脚本在Google文档中进行选择后附加表格?
我能找到的唯一例子是:
var body = DocumentApp.getActiveDocument().getBody();
var table = body.appendTable();
......这意味着到文档的末尾。
感谢
编辑:
我如何做出选择:
var selection = doc.getSelection();
这是基本上通过文档编辑器上的鼠标拖动选择(蓝色)选择的内容 从那里我开始iterrate:
var elements = selection.getSelectedElements();
var element = elements[0].getElement();
var startOffset = elements[0].getStartOffset(); // -1 if whole element
var endOffset = elements[0].getEndOffsetInclusive(); // -1 if whole element
这可能是PARAGRAPH的部分。
答案 0 :(得分:3)
以下是在当前选择中插入表格的代码。它可能需要稍微修改一下,但重点是;它在选择点找到正文的子索引。
function insertTableAtSelection() {
// insert table as selection
var theDoc = DocumentApp.getActiveDocument();
var selection = theDoc.getSelection();
Logger.log('selection: ' + selection);
if (selection) {
var elements = selection.getRangeElements();
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
Logger.log('element: ' + element.getElement());
};
var theElmt = element;
var selectedElmt = theElmt.getElement();
Logger.log('selectedElmt: ' + selectedElmt);
var parent = selectedElmt.getParent();
var insertPoint = parent.getChildIndex(selectedElmt);
Logger.log('insertPoint: ' + insertPoint);
var body = theDoc.getBody();
var table = body.insertTable(insertPoint + 1, [['one','two','three'],['yellow', 'green', 'red']]);
};
};
insertPoint增加一个:
insertPoint + 1
这使得表格超出了选择范围。
对于阅读此帖子的人,可能需要修改此代码,请记住,只有选择时此代码才会完成;用户需要突出显示一些内容才能进行选择。
答案 1 :(得分:0)
您可以在文档的任何位置追加表格,只需获取搜索结果的容器元素并将表格附加到该表格即可。
以this post为例,了解如何构建文档(但还有更多...在this forum with Google-Apps-Script tag上搜索。