Google Apps Script: Aufrufen einer Funktion aus einem Menü mit einem Tabellenbereich als Parameter

Ich habe eine Funktion, die einen Tabellenkalkulationsbereich als Parameter akzeptiert und dann ein Datum in der gleichen Zeile wie der angegebene Bereich hinzufügt.

function autoDate(cell) {
  var currentDate = new Date();
  var currentMonth = currentDate.getMonth() + 1;
  var currentDateStr = new String();
  currentDateStr = currentDate.getDate() + "/" + currentMonth;
  var sheet = SpreadsheetApp.getActiveSheet();

  if (cell.getValue() == ""){
    var activeRowInt = cell.getRow();
    var dateCell = sheet.getRange(activeRowInt,3); //3 is my date column
    dateCell.setValue(currentDateStr);
  }
}

Ich habe ein Menü, in dem ich eine separate Funktion ausführe, die autoDate () mit der aktiven Zelle als Parameter aufruft (da das Menüsystem das Aufrufen von Funktionen mit Parametern nicht zulässt).

function autoDateMenu(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var activeCell = sheet.getActiveCell();
  autoDate(activeCell);
}

Wenn ich autoDateMenu () im Skripteditor ausführe, funktioniert es einwandfrei. Wenn ich autoDateMenu () aus dem Menü der Tabelle auswähle, wird die folgende Fehlermeldung angezeigt:

TypeError: Die Methode "getValue" von undefined kann nicht aufgerufen werden. (Zeile 64, Datei "Code")

Zeile 64 bezieht sich auf diese Zeile:

if (cell.getValue() == ""){

Hier ist der Code, den ich für das Menü geschrieben habe:

function onOpen() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "Read Data",
    functionName : "readRows"
  },{
    name : "Set Date",
    functionName : "autoDateMenu"
  }];
  spreadsheet.addMenu("Script Center", entries);
}

Danke für die Antwort :)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage