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
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("A1").setValue(deinName); SpreadsheetApp.getUi().alert("Dein Name ist: " + deinName); } }
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
- Bestimmte Zelle auswählen (Google Tabellen Script)
- Eigenes User-Menü und PopUp-Fenster (Google Tabellen / Spreadsheets) Script
- Eine eigene Funktion erstellen ganz einfach (Google Tabellen / Spreadsheets)
- Kopieren und verschieben / moveTo copyTo (Google Tabellen / Spreadsheets) Script
- Tutorials über Google Tabellen
- Tutorials über Google Tabellen Script - Programmierung
- Zellen vergleichen & andere Zeilen ausblenden (Google Tabellen / Spreadsheets) Script
- Zellen vergleichen & markieren / Array (Google Tabellen / Spreadsheets) Script
- Übersichts-Liste der Google Tabellen Tutorials
10 Comments
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
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.
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
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
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
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
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
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
Hi, ich hänge mich mal an die Frage dran. Habe die selbe Aufgabe zu lösen
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