是否可以使用 Apps 脚本在 Google 文档中进行选择后附加表格?
我能找到的唯一例子是:
var body = DocumentApp.getActiveDocument().getBody();
var table = body.appendTable();
...这意味着到文档末尾。
谢谢
编辑:
我如何进行选择:
var selection = doc.getSelection();
这基本上是在文档编辑器上通过鼠标拖动选择(蓝色)选择的内容。
从那里我开始迭代:
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 的一部分。
最佳答案
这是在当前选择处插入表格的代码。它可能需要稍微修改一下,但重点是;它找到选择点处正文的子索引。
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
这使得表格超出了选择范围。
对于阅读这篇文章并可能想要修改此代码的人,请记住,此代码仅在有选择时才会完成;用户需要突出显示一定量的内容才能进行选择。
关于google-apps-script - 谷歌应用脚本:How to append a table in Document after a selection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21710994/