向 google sheet JavaScript 添加一行

adding a row to google sheet JavaScript

我有一个脚本用于之前的传播sheet,它向 table 添加一行并保持格式。我正在尝试在另一个 sheet 上使用此脚本来做同样的事情。问题是该行被添加到页面底部的错误位置。如何调整新行的添加位置?

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

}
}

这里有几个例子:

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