Zeitstempel mit Benutzer als Notiz (Google Tabellen Script)

In diesem Tutorial zeige ich Euch wie Ihr mit der GOOGLE TABELLEN Script Programmierung einen Zeitstempel mit Benutzer als Notiz erstellen könnt.
Das Script ist so aufgebaut dass bei der Änderung einer Zelle automatisch in einer vorher festgelegten Spalte ein Zeitstempel eingetragen wird. Wir tragen es in der Zeile ein wo auch die Änderung durchgeführt wurde. Zusätzlich bekommt die Zelle mit dem neuen Zeitstempel noch eine Notiz von uns. In dieser Notiz schreiben wir die Emailadresse von dem aktuellen Benutzer der Tabelle.



Ich habe ja bereits ein Tutorial für einen normalen Zeitstempel erstellt. Dieses Tutorial ist etwas einfacher gehalten und sieht auch ein bisschen anders aus. Falls Ihr Euch das Script ebenfalls mal anschauen wollt, dann findet Ihr es hier:
Zeitstempel programmieren in Google Tabellen

Dort findet Ihr auch noch ein paar Hinweise zum ändern des Zeitformats.

Wer jetzt das erste mal ein Google Tabellen Script programmiert, sollte sich zuerst dieses Tutorial hier anschauen:
Mein erstes Google Tabellen Script programmieren

Hier das Zeitstempel – Script zum kopieren:

Beschreibung des Scripts „Zeitstempel mit Benutzer als Notiz“

Die Funktion onEdit wird automatisch immer aufgerufen sobald eine Zelle verändert wird. Hier können wir jetzt unser Script eintragen.

Als Parameter wird für die Funktion onEdit ein Objekt benutzt welches Informationen enthält die wir jetzt nutzen können. In meinem Beispiel ist es das kleine e in der Klammer von onEdit.
e wird häufig als Abkürzung für Event benutzt weil es ein Ereignis kennzeichnet. Es wird auch statt dem „e“ häufig „event“ benutzt.

Hier könnt Ihr natürlich auch ein anderen Namen benutzen. Achtet aber darauf dass Ihr den dann unten auch überall anpassen müsst.

Als nächsten deklarieren wir ein paar Variablen.

Hier könnt Ihr die Spalte bestimmen wo später der Zeitstempel eingetragen werden soll. Wenn ihr also viele Spalten nutzen solltet, dann erhöht die Zahl entsprechend, damit der Zeitstempel weiter rechts eingetragen wird.
In meinem Beispiel benutze ich die 3. Das bedeutet das der Eintrag in Zeile C vorgenommen wird. Also A=1, B=2, C=3 und so weiter.

Mit e.source.getActiveSheet() greifen wir auf das Tabellenblatt zu welches gerade geändert wurde und weisen es der Variablen tabellenblatt zu. Das e ist das Objekt welches wir bei der Funktion oben als Parameter eingetragen haben. Solltet Ihr dort etwas anderes eingetragen haben müsst Ihr das hier entsprechend anpassen.

Die Emailadresse vom aktuellen Benutzer können wir mit Session.getActiveUser() auslesen und weisen es der Variablen userEmail zu.

Um einen Zeitstempel in die Zelle zu schreiben müssen wir erst einmal ein Datum oder sogenannten Zeitstempel zusammen basteln. Das machen wir über newDate().
Wir können das Datumsformat über Utilities.formatDate() anpassen. Wir erzeugen also ein neues Datums Objekt mit newDate() und können jetzt auch noch die Zeitzone anpassen. Hier benutze ich für unsere Zone „GMT+0100“ das bedeutet eine Stunde mehr als die Greenwich Mean Time Zone.

Im hinteren Teil könnt Ihr Euch das Format so anpassen wie Ihr das möchtet. Hier habe ich bereits beschrieben wie das mit dem Format funktioniert:
Zeitstempel programmieren in Google Tabellen

Das ganze wird jetzt der Variablen zeitStempel zugewiesen.

Die Position für den Zeitstempel

Wir müssen ja jetzt den Zeitstempel noch irgendwo eintragen. Dafür müssen wir natürlich auch erst einmal wissen wo wir uns aktuell befinden. Die Spalte haben wir oben ja schon mit zeitStempelSpalte festgelegt also Spalte 3 (C). Jetzt brauchen wir nur noch die Zeile.

e.source.getActiveRange gibt uns die aktuelle Position zurück. Wir müssen von dieser Position noch die Spalte auslesen. Das machen wir mit getRowIndex.

Um jetzt den Zeitstempel einzutragen, müssen wir die Zelle bestimmen wo das geschehen soll. mit getRange greifen wir genau auf die korrekte Zeile und Spalte zu.

Ihr seht ja das die Parameter von getRange einmal die Zeile und dann die Spalte ist.

In diese Zelle die wir jetzt bestimmt haben tragen wir mit setValue() unseren Zeitstempel ein. Der zusätzliche Aufruf setComment() fügt dann in die Zelle den Kommentar ein. Als Parameter übergeben wir die Variable mit der Emailadresse.

Das war es auch schon wieder mit dem Tutorial: „Zeitstempel mit Benutzer als Notiz“. Anfangs ist es nicht ganz so leicht, aber umso mehr man sich mit dem Thema beschäftigt umso leichter fällt das einen.

Also nicht aufgeben 😉

Schaut auch mal nach meiner kleinen Google Tabellen Script Snippets – Sammlung. Ich habe hier einige kleine Scripte geschrieben die Ihr vielleicht für Eurer Projekt nutzen könnt.

Dieses Tutorial ist extra für Anfänger die sich mit dem Tabellenkalkulationsprogramm GOOGLE TABELLEN / SPREADSHEETS noch nicht so viel beschäftigt haben. Es zeigt die Funktionen und Möglichkeiten Schritt für Schritt.



Das könnte Dich auch interessieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.