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); 
 
    
 
}

相关问题