Mein erstes Script programmieren mit Google Tabellen

Mein erstes Script programmieren mit Google Tabellen

Das programmieren von Scripten kann wirklich richtig süchtig machen. Ich zeige Euch hier mein erstes Script welches ich in Google Tabellen über den Script-Editor erstellt habe.



Ich habe im Laufe der Zeit noch sehr viel mehr Tutorials über die Google Script Programmierung gemacht.
Für alle die nach Tutorials suchen könnte diese Seite sehr interessant sein:
Übersichts-Liste der GOOGLE Tabellen Script Tutorials
Zusätzlich gibt es noch eine kleine Sammlung von Google Scripten oder Snippets die man nutzen könnte:
Google Tabellen Script Programmierung / Snippets

Dieses Tutorial ist auf eine Anfrage entstanden wo ich gefragt wurde ob es nicht möglich ist automatisch eine Zeile aus einem anderen Tabellenblatt zu kopieren. Das ganze ist dann ein wenig interessanter geworden weil ich auch gleichzeitig die Suche über einen SVerweis mit eingebaut habe. Ihr könnt also einfach einen Artikelnamen eingeben und über die Suche mit dem SVerweis werden aus dem anderen Tabellenblatt die Daten gesucht und die vollständigen Daten automatisch angezeigt. Mit einem Button welches das Script aufruft werden die Daten dann im aktuellen Tabellblatt hinzugefügt. Wie das alles Funktioniert und wie Ihr das Script in Eure Tabelle über den Script-Editor einfügen könnt zeige ich Euch in dem Video-Tutorial welches Ihr ganz unten findet.
Nachfolgend ist die Funktion die Ihr einfach im Script – Editor hineinkopieren müsst.

Hier mein erstes Script zum Kopieren

Die Benutzung von diesem Script geschieht natürlich wie immer auf eigene Gefahr.

Euch gefällt die Datei und Ihr wollt Euch unbedingt bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉

Funktionen lassen sich spielend einfach über den Script – Editor schreiben. Damit lassen sich noch interessantere Projekte erstellen, die entweder sehr schwer oder gar nicht über das normale Tabellen-Dokument oder Tabellen-Blatt möglich sind. Es stehen damit eine Menge mehr Möglichkeiten offen und man kann seiner Kreativität freien Lauf lassen

Das  Tutorial welches Euch zeigt wie das gemacht wird, könnt Ihr Euch natürlich auch gerne hier oder über YouTube ansehen.

Viel Spaß dabei 😉

 



Das könnte Dich auch interessieren

10 Kommentare

  1. Zu meiner ersten Mail als Ergänzung:

    Trotz richtigem Passwort und E-Mail Adresse erfolgt (wie in einer Endlosschleife) nach der Anmeldung der folgende Kommentar:

    Diese App wurde nicht überprüft

    Diese App wurde noch nicht von Google überprüft. Sie sollten nur fortfahren, wenn Sie den Entwickler als vertrauenswürdig ansehen.

    Sage ich ja, erfolgt der Anmeldeprozess erfent, danach wieder die obige Meldung usw. und so fort…

    • Chris sagt:

      Normalerweise sollte das ohne Probleme funktionieren.

      – Projekt im Editor speichern
      – Anschließend die entsprechende Funktion auswählen
      – Auf das Debuggen Symbol klicken
      – Berechtigung ansehen auswählen
      – Richtiges Konto auswählen
      – Erweitert
      – Ganz unten im Bereich Unbenanntes Projekt öffnen (unsicher) klicken (natürlich immer auf eigene Verantwortung)
      – Zulassen anklicken (vorausgesetzt man möchte den Zugriff gestatten)

      Fertig. So funktioniert es zumindest bei mir und habe ich soeben nochmal getestet.

  2. Manuel sagt:

    Hallo,

    nettes HowTo, ich habe ein paar Fragen zum Programmieren.
    Wie bekomme ich es denn hin das ich ein DropDown Menü erstelle und die URLS mit „importUrl“ versehe, der Hintergrund soll sein das mir bei der Auswahl jedesmahl eine andere Tabelle einer Webseite geladen wird.

    Und dann würde mich auch mal Intressieren wie man Felder „Zellen“ mit Namen so formatiert das die Zeilen Zuweisung oder Berechnung von alleine läuft.

    Würde mich über ein Tipps freuen

  3. Hallo, ich bin Anfänger in dieser Sprache und stolpere über ein scheinbar einfaches Problem:
    In einem Spreadsheet-Bereich gibt es markierte rote (zusammenhängende) Zellen, in denen sich schriftliche Eintragungen befinden.
    Dieses Sheet soll als Exceldatei in einer Email versendet werden. Vorher muss die Schrift sichtbar (=weiß) gemacht werden und nach dem Absenden wieder rot wie der Hintergrund, also unsichtbar.

    Mein Script ist:
    [CODE]
    function getGoogleSpreadsheetAsExcel()
    {
    // macht die Schriftfarbe im Bereich sichtbar
    var range = SpreadsheetApp.getActiveSheet().getRange(„B5:BZ1000″);
    var color=“#ffffff“;
    range.setFontColor(color);

    //sendet die Email
    var ss = SpreadsheetApp.getActive();
    var url = „https://docs.google.com/feeds/download/spreadsheets/Export?key=“ + ss.getId() + „&exportFormat=xlsx“;
    var params =
    {
    method : „get“,
    headers : {„Authorization“: „Bearer “ + ScriptApp.getOAuthToken()},
    muteHttpExceptions: true
    };
    var blob = UrlFetchApp.fetch(url, params).getBlob();
    var now = new Date();
    blob.setName(ss.getName() + “ “ + now +“.xlsx“);
    MailApp.sendEmail(„hstauche@versanet.de“, „Aktuelles Google Sheet als Excel-Datei“, „Die Excel-Datei befindet sich im Anhang dieser Email.“, {attachments: [blob]});

    // macht vor dem Beenden der Funktion den Text unsichtbar
    var range = SpreadsheetApp.getActiveSheet().getRange(„B5:BZ1000″);
    var color=“#ff0000“;
    range.setFontColor(color);
    }
    [/CODE]

    Während das Senden der Mail und der letzte Abschnitt (unsichtbar machen) tadellos ausgeführt wird, funktioniert der erste nicht (sichtbar machen). Da ich völlig analog geschrieben habe, habe ich keine Erklärung.

    Danke im Voraus für eine Aufklärung und FG Helmut

    • Chris sagt:

      Hallo Helmut, hast Du zum Testen mal versucht statt weiß die Farbe Schwarz zu benutzen.
      Die Formeln an sich sind ja korrekt und wenn man die Bereiche einzeln benutzt funktioniert das auch ohne Probleme. Der erste Teil macht die Schrift weiß, was natürlich bei einem roten Hintergrund auch zu sehen ist. Da aber anschließend direkt wieder der Text auf rot gesetzt wird sieht man das sichtbar machen nicht. Wenn in Excel selbst die Hintergrundfarbe weiß ist, dann sieht man den Text ebenfalls nicht. Ich weiß jetzt nicht in wie weit die Tabelle mit den Formatierungen übernommen wurde. Das mit der Textfarbe wäre erst einmal ein Versuch wert (sichtbare Farbe z.B. blau oder schwarz).
      Wenn Du einige Tutorials von mir gesehen hast, weißt Du ja dass ich auch nur Hobbyprogrammierer bin und selbst noch einiges zu lernen habe 😉

  4. Hallo Chris, danke für deine schnelle Reaktion. Leider ist es völlig egal, welche Schriftfarbe man zum Sichtbarmachen nimmt, Alle anderen Inhalte und Formatierungen des Sheets werden tadellos in Excel übernommen. Nach meiner Logik müssten die Scriptzeilen nacheinander ausgeführt werden, also das Versenden als Exceldatei sollte erst nach dem Weiß-Machen der Schrift ausgeführt werden. Ist hier vielleicht ein Denkfehler?

    Wäre es denkbar, dass du oder ein(e) ander(e) aus dem Forum mein Script mal ausprobiert.
    a. ein eigenes Google Spreadsheet öffnen
    b. im Bereich B5:BZ1000 einigen zusammenhängenden Zellen einen roten Hintergrund geben („#ff0000“).
    c. in in eine beliebige Zelle des roten Bereichs etwas mit weißer Schrift schreiben
    d. die Schriftfarbe danach ebenfalls rot („#ff0000“) machen, so dass man die Schrift nicht mehr sieht
    e. mein Script testen (vorher zum Ausprobieren aber meine Mailadresse durch eure eigene ersetzen)

    Es soll Folgendes passieren:
    Teil 1. Die rote Schrift soll weiß werden.
    Teil 2. Das Sheet soll als Excel-Datei an eure Mailadresse versendet werden, und zwar mit weißer Schrift.
    Teil 3. Die Schrift im Google-Sheet soll nach dem Versenden rot – also unsichtbar – sein.

    Die Teile 2. und 3 funktionieren, Teil 1. nicht, d.h. im Excel-File ist die Schrift nur dann weiß, wenn man den Punkt d. (oben) weglässt.
    Werden die ersten drei Zeilen nicht ausgeführt? Wenn ja, warum? Oder???.

    Danke, eine Hilfe wäre wirklich wichtig. Ich hab hier niemanden, der sich damit auskennt.
    FG Helmut

    • Chris sagt:

      Versuche mal den folgenden Befehl nach dem Du die Textfarbe in weiß geändert hast.
      Das sollte das Problem lösen:
      SpreadsheetApp.flush();

      Viele Grüße
      Chris

  5. Danke Chris, darauf wäre ich als Einsteiger nie gekommen.
    Obwohl dies eine ehrenamtliche Auftragsarbeit war (umfangreiches Ausleihsystem, der größte Teil in PHP), habe ich doch Feuer gefangen und werde – wenn sinnvoll – zukünftige Ideen mit Google Apps Script realisieren.
    Ich bewundere die Vielfältigkeit deiner Arbeiten. Vor allem auch die Tutorials zu OpenOffice werden mir für meine beiden PC-Kurse mit Senioren Anregungen liefern und den Teilnehmer*innen eine gute Möglichkeit für die Übungen zuhause bieten.

    Viele Grüße
    Helmut

    PS Evtl. könntest du für deine Kommentare – wie in Foren üblich – eine extra Formatierung für Code einbauen.

    • Chris sagt:

      Super das es jetzt geklappt hat 😉
      Ich danke Dir auch für die vielen Komplimente.
      Die Google Tabellen Script-Programmierung kann wirklich sehr viel Spaß machen. Man muss wirklich aufpassen dass man nicht süchtig wird 😉
      Da Du Dich aber mit PHP auskennst und bestimmt auch mit MySQL wirst Du viele Sachen eher damit machen. Gerade wenn es um sehr große Datenmengen geht würde ich vermutlich auch darauf zugreifen. Vor allem weil man da alles komplett erstellen kann (Backend, Frontend) und es auch verdammt schnell ist. Der Aufwand ist aber um einiges größer 😉
      Und so ein Einsteiger bist Du in meinen Augen gar nicht, denn die Funktion und Ideen die Du in dem Script nutzt ist für mich schon als fortgeschritten zu sehen.
      Das mit der Code Formatierung ist nicht ganz so leicht. Ich habe schon einige Plugins gesucht aber nichts passendes gefunden. Die guten Plugins halte ich teilweise für etwas fragwürdig was den Datenschutz angeht. Ich muss mal schauen ob ich das selbst umprogrammieren kann. Das wird aber auch etwas dauern.
      Ich würde mich natürlich auf jeden Fall freuen wenn meine Seite weiter empfohlen wird 😉
      Viele Grüße
      Chris

Schreibe einen Kommentar

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