In diesem kurzen Tutorial und zugleich Snippet zeige ich Euch wie Ihr mit Google Tabellen Script einen Zeitstempel mit Ablaufzeitpunkt programmieren könnt.
Ein Video wo ich zeige wie man den einfachen Zeitstempel programmiert könnt Ihr Euch hier anschauen: Zeitstempel programmieren in Google Tabellen
Wer jetzt das erste mal ein Google Tabellen Script programmiert sollte sich zuerst dieses Tutorial hier anschauen: Mein erstes Google Tabellen Script programmieren
Wenn Ihr die Funktion "zeitStempelUndAblaufzeitpunkt" aufruft wird in die aktive Zelle ein Zeitstempel eingetragen und an einer anderen Stelle ein Ablaufzeitpunkt. In dem Script ist das so eingestellt das der Ablaufzeitpunkt direkt rechts neben den Zeitstempel geschrieben wird. Die Position des Ablaufzeitpunkts und auch den Ablaufzeitpunkt in Tagen selbst könnt Ihr im Script anpassen.
Im Script habe ich alles soweit kommentiert sodass es eigentlich verständlich sein sollte.
Der Zeitstempel selbst wird beim Aufruf der Funktion in die aktive Zelle eingetragen.
Die Anzahl der Tage zwischen Zeitstempel und Ablaufzeitpunkt könnt Ihr in der Variablen ablaufZeitpunktInTagen festlegen. Hier sind auch negative Werte möglich falls man das Script noch für andere Sachen umschreiben möchte. Bei diesem Beispiel wäre ein negativer Wert und der Begriff Ablaufdatum schon etwas fragwürdig 😉
Die Position des Ablaufzeitpunkts könnt Ihr über die Variablen ablaufZeitpunktPositionOffsetX (für Spalten) und ablaufZeitpunktPositionOffsetY (für Zeilen) anpassen. Wollt Ihr also das der Ablaufzeitpunkt zwei Zeilen unter dem Zeitstempel steht müsst Ihr
ablaufZeitpunktPositionOffsetY=2 und
ablaufZeitpunktPositionOffsetX=0 eintragen.
Bei der Variablen aktuellerZeitpunkt weise ich mit new ein Datumsobjekt zu. Hier steht dann das aktuelle Datum inklusive Zeit drin.
Die Variable zeitStempelFormat enthält in Anführungszeichen das Datumsformat was ich später ausgeben möchte.
Die Berechnung des Ablaufzeitpunkts findet dort statt wo ich die Variable ablaufZeitpunkt deklariere.
Um den Ablaufzeitpunkt entsprechend der Position von der aktiven Zelle zu positionieren benutze ich die Funktion offset. Hier kann man dann den Fokus in X oder Y Richtung verschieben. X für Spalten und Y für Zeilen wobei positive und negative Zahlen möglich sind. Bei positiven Werten geht es nach rechts oder unten bei negativen Werten nach links oder oben.
getActiveCell Hier wird auf die aktive Zelle zugegriffen.
setValue Schreibt den Wert in die entsprechende Zelle.
setNumberFormat Formatiert das Datum entsprechend meiner vorher gemachten Vorgaben.
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
function zeitStempelUndAblaufzeitpunkt(){ var MILLISEKUNDEN_AM_TAG=1000 * 60 * 60 * 24; // Aktives Tabellenblatt der Variablen tabellenblatt zuweisen var tabellenblatt=SpreadsheetApp.getActiveSheet(); // Aktuelles Datum als neues Objekt mit new erzeugen var aktuellerZeitpunkt=new Date(); var ablaufZeitpunktInTagen=3; // Hier die Anzahl der Tage eintragen für den Ablaufzeitpunkt (positive/negative Zahlen) // Hier kann die Position des Ablaufzeitpunkts abhängig vom Zeitstempel angepasst werden var ablaufZeitpunktPositionOffsetX=1; //Offset Spalten-Position des Ablaufzeitpunkts var ablaufZeitpunktPositionOffsetY=0; //Offset Zeilen-Position des Ablaufzeitpunkts // Hier wird der Ablaufzeitpunkt berechnet var ablaufZeitpunkt=new Date(aktuellerZeitpunkt.getTime()+ablaufZeitpunktInTagen*MILLISEKUNDEN_AM_TAG); // Das Format für die Ausgabe festlegen. Hier könnt Ihr Eure Änderungen vornehmen. var zeitStempelFormat="dd.mm.yyyy hh:mm:ss"; // Den Zeitstempel in die aktive Zelle schreiben und das Format entsprechend anpassen. tabellenblatt.getActiveCell().setValue(aktuellerZeitpunkt).setNumberFormat(zeitStempelFormat); // Den Ablaufzeitpunkt in die Zelle schreiben abhängig vom vorher gewählten Offset tabellenblatt.getActiveCell().offset(ablaufZeitpunktPositionOffsetY,ablaufZeitpunktPositionOffsetX).setValue(ablaufZeitpunkt).setNumberFormat(zeitStempelFormat); } |
Die Benutzung der Scripte erfolgt natürlich wie immer auf eigene Gefahr.
Euch gefällt das Script und Ihr wollt Euch gerne bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉
Dieses Tutorial ist Teil einer Serie die als eine Art Datenbank für kleinere Snippets dient. Damit habt Ihr die Möglichkeit für Eure Projekte einen Teil des Codes hier direkt zu kopieren und wie in Modulbauweise das ganze anzuwenden.
Die Liste aller Snippets findet Ihr hier:
Google Tabellen Script Programmierung
2 Kommentare
Kann man das Script auch so ab ändern das er z.B dies in Stunden Rechnet ?
Dies wäre für mich interessant. Wenn ja kannst mir sagen wie dies geht.
Ich danke dir.
Ok leider ist dies nicht das was ich suche.
Gibt es ein Script wo mir jede Stunde eine zahl um 1 erhöht?
z.B zelle A steht eine 6 eine Stunde Später soll da eine 7 dann stehen.