Dialogbox aufrufen / Eingabemaske aufrufen (Google Tabellen / Spreadsheets) Script

Eingabemaske aufrufen

Wie Ihr eine Eingabemaske aufrufen könnt zeige ich Euch hier in diesem Google Tabellen Script Tutorial. In diese sogenannte Dialogbox könnt Ihr dann etwas eintragen und anschließend mit den Daten weiter arbeiten. In diesem Beispiel wird der einfach nur der Name abgefragt und anschließend in einer Alarmbox ausgegeben. Zusätzlich wird der Name noch in die Zelle A1 geschrieben. Dadurch könnt Ihr dann auch gleich mal sehen wie das funktioniert. Vor allem für diejenigen interessant die anschließend mit den Daten weiter arbeiten möchten.
Der Aufruf der Eingabemaske  funktioniert über das User Interface mit der Methode getUi.

Wer zum ersten Mal ein Script schreiben möchte, sollte sich das Video Tutorial: Mein erstes Google Tabellen Script anschauen.



Hier das Script zum Kopieren

Zeilenumbruch

Wer einen Zeilenumbruch benötigt, der kann das mit \n realisieren.
Wenn man beispielsweise das Ergebnis (also den Namen) in der nächsten Zeile haben möchte kann das mit folgender Codeänderung machen:
SpreadsheetApp.getUi().alert("Dein Name ist:\n" + deinName);

ButtonSet – Buttons für Eure Dialogbox

Die Funktion ButtonSet bietet einige Konstanten die man verwenden kann um Buttons anzuzeigen. In dem Beispielscript habe ich die Konstant OK_CANCEL verwendet aber es stehen noch andere zur Verfügung:

Konstante Beschreibung
OK Erzeugt einen OK Button
OK_CANCEL Erzeugt einen OK und ABBRECHEN Button
YES_NO Erzeugt einen JA und NEIN Button
YES_NO_CANCEL Erzeugt einen JA, NEIN und ABBRECHEN Button

 

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

Das Video-Tutorial "Dialogbox aufrufen / Eingabemaske aufrufen (Google Tabellen Script)"

 



Das könnte Dich auch interessieren

10 Kommentare

  1. KFRII sagt:

    hallo,
    zwei kleine Sachen muss ich mal los werden.

    1. super was hier machst danke dafür hilft echt gut weiter mit deine Erklärungen.

    2. kann man wenn man eine Dialog box mit ja nein Button erstell auswerten welcher Button gedrückt wurde ?
    Bsp. willst du wirklich alles zurück setzten ?
    JA Nein

    wenn ja dann lösche alles
    wenn nein dann Dialogbox einfach schließen

    danke schon mal das dir die zeit nimmst das zu lesen

    • Chris sagt:

      Danke Dir erst einmal für das nette Kompliment.
      Was Deine Frage angeht, schau Dir mal hier in der Referenz das obere Script an:
      https://developers.google.com/apps-script/reference/base/ui
      Hier werden zwei Buttons erstellt und die Antwort und Buttons auch ausgewertet / verzweigt. Die Ergebnisse von der Auswertung des Scripts siehst Du im Protokoll. Das heißt, wenn Du die Funktion ausführst, dann kannst Du die Ergebnisse von diesem Script. Über "Ansicht" – > "Protokolle" im Script Editor auslesen. Hier in dem Beispiel werden die Ergebnisse nur geloggt. Du kannst in den IF / Else Verzweigungen natürlich noch eine Menge Funktionen einbauen.
      Um das Script zu Testen brauchst Du das ganze nur in die Funktion "myFunction" rein kopieren, speichern und diese dann einfach nur ausführen.

  2. Timo sagt:

    Hallo,

    sehr gutes Video. Wie bekommt man es allerdings hin das die Dialogbox sich gleich beim Start der Datei öffnet ?

    Vielen Dank im Voraus

    vg timo

    • Chris sagt:

      Damit Funktionen beim Öffnen der Tabelle ausgeführt werden kannst Du diese über die Funktion onOpen() im Scripteditor aufrufen.
      erstelle Dir einfach die Funktion:
      function onOpen(){
      DeinFunktionsAufruf();
      }
      Versuche mal ob das klappt 😉
      Viele Grüße
      Chris

  3. Lisa sagt:

    Hey, vielen Dank du hast das super einfach erklärt.
    Eine Frage hätte ich noch; ich hab einen sverweis in meinem Dokument und würde gern eine Dialogbox haben, die nach Eingabe in die erste Dialogbox (beispielsweise 'dein Name') in einer zweiten Dialogbox den zugehörigen Wert ausgibt. Einfach damit es benutzerfreundlicher aussieht.

    Danke schon mal für deine Hilfe

    • Chris sagt:

      Hey Lisa,
      das sieht zwar benutzerfreundlicher aus aber ob das wirklich benutzerfreundlicher ist würde ich erst einmal testen und später auch mal die Benutzer fragen. Das Problem ist, das Du ja mehrmals mit der Maus die Eingabemasken bestätigen musst (OK oder Abbrechen). Das sind zusätzliche Mausklicks die nicht nötig wären. Aber das ist natürlich Geschmackssache.
      Wenn Du das dennoch machen willst, kannst Du im unteren Teil der Funktion wo die if Abfrage steht ja einfach mal versuchen noch eine Eingabemaske, wie oben in der Funktion, einzutragen.
      Das Ergebnis kommt dann über getRange und getValue. Also getRange ist Deine Zelle wo das Ergebnis für den SVerweis steht und mit getValue kannst Du den Wert auslesen, den Du dann für die Ausgabe in Deiner Eingabemaske nutzen kannst.
      Viele Grüße
      Chris

  4. martin sapik sagt:

    Hey Chris

    zu allererst ein Kompliment an dich für deine einerseits Komplexen Themen die du aber irre leicht erklärst und
    selbst Laien recht Easy erklärst.
    Meine Frage ich brauch in einer Dialog Box eine Elementen Liste zur Auswahl, leider muss es eine Dialogbox sein
    da der Benutzer Technisch genau 0 Versiert ist und das ganze "geführt" oder besser gesagt "selbsterklärend" sein muss.

    Ich hab mir 3 Dialogboxen gemacht das läuft alles soweid,
    Nun benötige ich in der 2 und 3 Diabox eine Elementen Liste , grundsätzlich wie in der Zelle nur eben in der Dialogbox.
    Ist so etwas möglich ?

    mfg Martin

  5. Armin Wilpernig sagt:

    Hy eine Frage
    kann ich in der Dialogbox gleich mehrere Felder eingeben
    sowie z.B
    ProduktA: Feld1
    ProduktB: Feld2
    und die Felder1 u. 2
    auf Zeilen zuordnen?
    lg Armin

  6. Markus Meyer sagt:

    Zeilenumbruch
    Wer einen Zeilenumbruch benötigt, der kann das mit \n realisieren.
    Wenn man beispielsweise das Ergebnis (also den Namen) in der nächsten Zeile haben möchte kann das mit folgender Codeänderung machen:
    SpreadsheetApp.getUi().alert("Dein Name ist:\n" + deinName);

    Das Funktioniert leider bei mir nicht; Ich habe es ersetzte:
    function eingabeMaske() {

    var ui = SpreadsheetApp.getUi();

    var antwort = ui.prompt(
    'Wie ist Dein Name',
    'Hier kannst Du Deinen Namen eingeben',
    ui.ButtonSet.OK_CANCEL);

    var deinName=antwort.getResponseText()

    if (deinName != ""){

    SpreadsheetApp.getActiveSheet().getRange("A7").setValue(deinName);

    SpreadsheetApp.getUi().alert("Dein Name ist:\n" + deinName);

    }
    }

    und er ersetzt mit immer noch diese zeile A7

Schreibe einen Kommentar

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