0

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

} 
} 
+1

Was Sie hinzufügen wollen? Es gibt eine appendRow-Methode im Tabellenobjekt –

+0

onOpen ist ein reservierter Name in Google Apps Script. Es sollte nur einmal pro Projekt verwendet werden. –

Antwort

0

Hier sind ein paar Beispiele:

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

Verwandte Themen