Hallo Ich mache ein Skript, das Daten aus einem Arbeitsblatt (das Daten von einem Formular erhält) erstellt ein Ereignis in meinem Hauptkalender abhängig von der Entscheidung eines Betreibers.Tabellenkalkulation in Abhängigkeit von der Entscheidung eines Bedieners
Er empfängt die Daten aus dem Formular in den Spalten A bis F. In Spalte G entscheidet der Bediener, ob auf "Ja" oder "Nein" gesetzt werden soll.
Wenn G "Ja" ist, prüft das Skript in Spalte H, ob etwas geschrieben wurde. Wenn es leer ist Das Skript schreibt in Spalte H und erstellt ein Ereignis mit den Daten von A: F, Wenn nicht etwas in Spalte H geschrieben wird, geht es einfach in die nächste Zeile, bis das letzte geschrieben wird.
Mein Skript funktioniert nur korrekt, wenn die gesamte H-Spalte leer ist. Dies zwingt mich, die Spalte H immer zu löschen und Ereignisse, die bereits mit jedem neuen Eintrag in den Kalender geschrieben wurden, zu duplizieren.
Wie bekomme ich das Skript weiter ausgeführt, ohne die H-Spalte zu löschen?
Mein Skript ist:
function teste() {
var ss = SpreadsheetApp.getActive();
var dados = ss.getDataRange().getValues();
var ultimaLinha = ss.getLastRow() - 1;
var options = {
description: dados[ultimaLinha][2],
location: dados[ultimaLinha][5],
};
for (var i = 1; i < ultimaLinha + 1; i++) {
var validacao = dados[i][6];
var escrita = dados[i][7];
if (validacao === "Yes") {
if (escrita == null) {
SpreadsheetApp.getActiveSheet().getRange(i + 1, 8).setValue('ok');
var event = CalendarApp.getDefaultCalendar().createEvent(
dados[i][1],
new Date(dados[i][3]),
new Date(dados[i][4]),
options);
}
}
}
Mein Arbeitsblatt
Wenn ich diese Zeile entfernen das Skript für die Ereignisse doppelte Ereignisse erstellt, die bereits zuvor verarbeitet wurden –