Dienstag, 4. Januar 2011

Interaktion Teil 1 - Message-Box

Automation schön und gut, aber so richtig interessant wird es bei Google Apps Script erst durch die Interaktion mit dem Benutzer. Ich möchte aus diesem Grund an einigen Beispielen zeigen, wie ein Script mit dem Benutzer (oder der Benutzer mit dem Script ... ganz wie man will) interagieren kann.

Fangen wir mit einem ganz einfachen Beispiel an: Die Message-Box. Vielen Entwicklern, die bereits vor Google Apps Script mit JavaScript gearbeitet haben, wird die alert()-Funktion sehr geläufig sein. Das passende Entsprechung in Google Apps Script ist msgBox(). Dies ist eine Methode der Browser-Klasse. Das folgende Beispiel zeigt, wie man eine solche Message-Box aufruft:

function myMessageBox({
  Browser.msgBox("Das ist eine Message-Box.");
}

Wird diese Funktion ausgeführt, dann sieht der Benutzer diese Message-Box mit einem Titel, einem Schließen-Button in der rechten oberen Ecke, dem Text und einem OK-Button:



Einfach. Oder? Aber man möchte dem Benutzer nicht immer nur etwas mitteilen, sondern eventuell auch etwas fragen. Damit er dann auch entsprechend antworten kann, muss man ihm natürlich auch die passende Möglichkeit dazu bieten ... über die zur Verfügung gestellten Buttons. So kann man zum Beispiel fragen, ob der Benutzer heute Geburtstag hat und ihm für seine Antwort die Buttons "Ja" und "Nein" anbieten. Dies erreicht man über eine zusätzlichen Parameter der Methode.

function myMessageBox({
  Browser.msgBox(
    "Haben Sie heute Geburtstag?",
    Browser.Buttons.YES_NO
  );
}

Wird diese Funktion ausgeführt, dann sieht der Benutzer diese Message-Box mit einem Titel, einem Schließen-Button in der rechten oberen Ecke, der Frage und den Buttons "Ja" und "Nein":



Alle möglichen Kombinationen der Buttons findet man übrigens hier.

Aber was bringt die Frage, wenn man nicht angemessen darauf reagieren kann? Nichts. So muss man nun noch die Antwort des Benutzers abfragen und weiter mit im interagieren. Wie wäre es mit einem "Herzlichen Glückwunsch!"?

function myMessageBox({
  var answer Browser.msgBox(
    "Haben Sie heute Geburtstag?",
    Browser.Buttons.YES_NO
  );

  switch (answer{
    case "yes":
      Browser.msgBox("Herzlichen Glückwunsch!");
      break;
    case "no":
      Browser.msgBox("Schade.");
      break;
  }
}

Rein funktionell ist es das, was eine Message-Box kann. Allerdings ist der Standard-Titel "Google Apps Script" nicht so wirklich toll anzusehen. Diesen kann man ebenfalls über einen weiteren Parameter der Methode ändern. Hierbei ist allerdings zu beachten, dass man beim Setzen des Titels dann alle drei Parameter (Titel, Text, Buttons) angeben muss.

function myMessageBox({
  var answer Browser.msgBox(
    "Frage",
    "Haben Sie heute Geburtstag?",
    Browser.Buttons.YES_NO
  );

  switch (answer{
    case "yes":
      Browser.msgBox("Herzlichen Glückwunsch!");
      break;
    case "no":
      Browser.msgBox("Schade.");
      break;
  }
}

Wird diese Funktion ausgeführt, dann sieht der Benutzer diese Message-Box mit dem selbst definierten Titel, einem Schließen-Button in der rechten oberen Ecke, der Frage und den Buttons "Ja" und "Nein":



So, das zum Thema "Message-Box". Demnächst mehr...

Keine Kommentare:

Kommentar veröffentlichen