2014-02-11 65 views
1

是否可以在Google文檔中使用Apps腳本進行選擇後附加表格?Google Apps腳本:如何在選擇後在文檔中附加表格

唯一的例子我能找到的是:

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

...這意味着到文件末尾。

感謝
編輯:

如何我做的選擇是:

這是basicaly通過鼠標拖動選擇(發藍了)在文檔編輯器中選擇什麼
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 

這可能是段落的一個部分

回答

1

下面是代碼,在當前選擇插入一個表格,它可能需要。修改了一點,但問題是,它發現的身體的子指標在選擇的點

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 

即將超出選定範圍的表格。

對於閱讀本文的人可能想要修改此代碼的任何人,請記住,如果有選擇,此代碼纔會完成;用戶需要突出顯示一些內容以供選擇。

0

您可以在文檔的任何位置附加表格,只需要獲取搜索結果的容器元素並將表格附加到該表格即可。

看一看this post例如,看看文件是如何構建的(但有更多...搜索上this forum with Google-Apps-Script tag

+0

你想怎麼做? –

+0

對不起,在評論中添加代碼並不是很好,所以我在上面編輯了我的問題。您可以在文檔編輯器中看到如何獲取鼠標選定文本的選擇元素。所以我的選擇與你提供的例子有點不同。 – Bogac

相關問題