Zeitstempel mit Ablaufzeitpunkt programmieren
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
Beschreibung:
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.
Ablaufzeitpunkt
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.
Auf Zellen zugreifen und Zahlenformat
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.
Achtung:
Benutzt zum Ăben eine separate Tabelle fĂŒr Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Snippet: Zeitstempel mit Ablaufzeitpunkt programmieren mit Google Tabellen Script Programmierung
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] đ
Dies ist Teil der Serie: "Google Tabellen Script Programmierung"
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 Comments
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.