Ich habe ein Skript, das für eine vorherige Tabelle verwendet wird, die eine Zeile der Tabelle hinzufügt und die Formatierung behält. Ich versuche, dieses Skript auf einem anderen Blatt zu verwenden, um dasselbe zu tun. Das Problem besteht darin, dass die Zeile an der falschen Stelle am unteren Rand der Seite hinzugefügt wird. Was kann ich tun, um einzustellen, wo die neue Zeile hinzugefügt wird?Hinzufügen einer Zeile zu Google-Tabelle 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);
}
}
Was Sie hinzufügen wollen? Es gibt eine appendRow-Methode im Tabellenobjekt –
onOpen ist ein reservierter Name in Google Apps Script. Es sollte nur einmal pro Projekt verwendet werden. –