0

我有一個腳本用於之前的電子表格,它向表格添加一行並保留格式。我試圖在另一張紙上使用這個腳本來做同樣的事情。問題在於該行正被添加到頁面底部的錯誤位置。我可以做些什麼來調整新行的添加位置?在Google表格中添加一行JavaScript

// addRow.GS 
var ss = SpreadsheetApp.getActive(); 

function onOpen() { 
    var menu = [{name:"Add New Last Row", functionName:"addRow"}]; 
    ss.addMenu("Extra", menu); 
} 

function addRow() { 
    var s, data, rw; 
    s=SpreadsheetApp.getActiveSheet(); 
    data=s.getDataRange().getValues(); 
    for (rw in data) { 
    if (data[rw][6]=="Condition Description :") break; 
    } 
    s.insertRowBefore(Number(rw)); 
    s.getRange(Number(rw), 4, 1, 2).merge(); 
    s.getRange(Number(rw), 8).setFormula("=f"+Number(rw)+"*g"+Number(rw)); 
} 



function myFunction() //Code.GS { 

var ss = SpreadsheetApp.getActive(); 

function onOpen() { 
    var menu = [{name:"Add New Last Row", functionName:"addFirstRow"}]; 
    ss.addMenu("Extra", menu); 
} 
function addFirstRow() { 
    var firstRow = 1; 
    var sh = ss.getActiveSheet(); 
    var lCol = sh.getLastColumn(); 
    var range = sh.getRange(firstRow, 1, 1, lCol); 
    var formulas = range.getFormulas(firstRow, 1, 1, lCol); 
    sh.insertRowsAfter(1, 1); 
    newRange = sh.getRange(firstRow, 1, 1, lCol); 
    newRange.setFormulas(formulas); 

} 
} 
+1

什麼是你想補充?在工作表對象中有一個appendRow方法 –

+0

onOpen是Google Apps腳本中的保留名稱。它只能按項目使用一次。 –

回答

0

這裏有幾個例子:

var ss = SpreadsheetApp.getActive(); 
 

 
function onOpen() { 
 
    var menu = [{name:"Add New Last Row", functionName:"addFirstRow"}]; 
 
    ss.addMenu("Extra", menu); 
 
} 
 

 
function addFirstRow() { 
 
    var sheet = ss.getActiveSheet(); 
 
    sheet.appendRow(['This row']); 
 

 
    // Insert one empty row after the last row in the active sheet. 
 
    sheet.insertRowsAfter(sheet.getMaxRows(), 1); 
 
    sheet.appendRow(['That Row']); 
 
    
 
    
 
    // Shifts all rows down by one 
 
    sheet.insertRows(1); 
 
    
 
    // inserts a row at row 10 
 
    sheet.insertRows(10); 
 
    
 
}