![](/img/trans.png)
[英]Appending tables to Google Docs from Spreadsheets using Apps Script
[英]Appending Table with input from arrays in Google apps Script
我一直在嘗試向插件中添加函數,該函數將在文檔末尾創建一個表。
按鈕文本在HTML中定義為:
<button onclick="google.script.run.chronTable()">In Order</button>
.gs文件中的函數如下:
function chronTable() {
var body = DocumentApp().getActiveDocument().getBody();
var chronTable = body.appendTable();
//Create 5 rows and 4 columns
for(var i=0; i<3; i++){
var tr = chronTable.appendTableRow();
}
//add 4 cells in each row
for(var j=0; j<2; j++){
var td = tr.appendTableCell('Cell '+i+j);
}
}
最后,我要插入在較早的函數中定義的文本,該函數使用HTML中的按鈕將屬性應用於文本,並將其存儲在數組中,如下所示:
function highlightStyleRed() {
//App>Doc>Body>Paragraph>Text
//selection>rangeElements>RangeElement>Element>Text
var selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
//declare variables once before loop
var elements = selection.getRangeElements();
var rngEelement;
var element;
var text;
var startOffset;
var endOffsetInclusive;
var redSelected = []; // creates array for export to appended table
//loop through selection
for (var i=0; i < elements.length; i++){
rngElement = elements[i];
element = rngElement.getElement();
if (element) {
text = element.asText();
if (text) {
//if we are on a 'partial element' we need to only grab the selected part of the text
if (rngElement.isPartial()) {
startOffset = rngElement.getStartOffset();
endOffsetInclusive = rngElement.getEndOffsetInclusive();
text.setBackgroundColor(startOffset, endOffsetInclusive, '#ff3333');
redSelected.push(text);//pushes text to array
} else {
text.setBackgroundColor('#ff3333');
redSelected.push(text);//pushes text to array
}
}
}
}
}}
到目前為止,我什至無法顯示表格。 這段代碼中缺少什么嗎?
另外,當我嘗試聲明該數組並將該數組插入到表格單元格中時,無法識別它。 我可以聲明在其他函數中創建的數組嗎?
在第一個代碼上,您必須將for循環放入另一個for循環內:
for(var i=0; i<3; i++){
var tr = chronTable.appendTableRow();
//add 4 cells in each row
for(var j=0; j<2; j++){
var td = tr.appendTableCell('Cell '+i+j);
}
}
使用前面的代碼,它創建了一個表,但是在Doc中創建了一個錯誤。
對於您問題的第二部分,我不確定您嘗試做什么。 你能解釋一下嗎? 或舉一個例子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.