Mit der InputBox kann ein Makro eine komplexe Information vom Anwender abfragen, also mehr als nur „Ja“ oder „Nein“ oder „o.k“.
Auch die Information einer InputBox muss in einer Variablen „aufgefangen“ werden.
Die Codezeile heißt im einfachsten Fall:
i = InputBox("Lieblingslied?")
Abbildung 177, Einfache Inputbox
Die Syntax der InputBox lässt jedoch auch zu, die InputBox
komfortabler zu gestalten:
So kann man der Box beispielsweise einen
Titel geben und eine Default-Nachricht.
Die Codezeile:
i = InputBox("Lieblingslied?", "Umfrage zur Ermittlung des beliebtesten Liedes", "Hänschen klein,...")
erzeugt eine InputBox gem. Abbildung 178.
Abbildung 178, InputBox mit Titel und Default-Nachricht
Der Default-Wert (hier: „Hänschen klein“) kann vom Anwender übernommen, oder überschrieben werden.
Nebenbei lernen wir bei der Eingabe der Codezeile in eine Prozedur eine weitere nützliche Funktion des VB-Editors kennen, die sog. Quick-Info.
Der Editor blendet bei der Eingabe ein kleines Infofenster ein und zeigt die Syntax des gerade behandelten Objekts an.
Abbildung 179, Quick-Info mit Syntax-Anzeige der Input-Box
Bei der Eingabe des Codes wird immer das Argument fett gedruckt, das gerade „dran“ ist. „Prompt“ ist abgeschlossen, als nächstes folgt „Titel“, dann „Default“. Steht ein Argument in eckigen Klammern, so ist es optional.
Auszug aus der EXCEL-Hilfe:
Zeigt eine Eingabeaufforderung in einem Dialogfeld an, wartet auf die Eingabe eines Textes oder auf das Klicken auf eine Schaltfläche und gibt einen Wert vom Typ String zurück, der den Inhalt des Textfeldes angibt.
Syntax
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
Die Syntax der InputBox-Funktion verwendet die folgenden benannten Argumente:
Teil |
Beschreibung |
prompt |
Erforderlich. Ein Zeichenfolgenausdruck, der als Meldung im Dialogfeld erscheint. Die Maximallänge von prompt ist - je nach Breite der verwendeten Zeichen - etwa 1024 Zeichen. Wenn prompt aus mehreren Zeilen besteht, müssen Sie die Zeilen mit einem Wagenrücklaufzeichen (Chr(13)), einem Zeilenvorschubzeichen (Chr(10)) oder einer Kombination aus Wagenrücklaufzeichen und Zeilenvorschubzeichen (Chr(13) & Chr(10)) trennen. |
title |
Optional. Ein Zeichenfolgenausdruck, der in der Titelleiste des Dialogfeldes angezeigt wird. Wenn Sie title nicht angeben, wird der Anwendungsname in der Titelleiste angezeigt. |
default |
Optional. Ein Zeichenfolgenausdruck, der als Voreinstellung im Textfeld angezeigt wird, wenn der Benutzer keine Eingabe vorgenommen hat. Wenn Sie default nicht angeben, wird das Textfeld ohne Text angezeigt. |
xpos |
Optional. Ein numerischer Ausdruck, der den horizontalen Abstand (in Twips) des linken Rands des Dialogfeldes vom linken Rand des Bildschirms festlegt. Wenn Sie xpos nicht angeben, wird das Dialogfeld horizontal zentriert. |
ypos |
Optional. Ein numerischer Ausdruck, der den vertikalen Abstand (in Twips) des oberen Rands des Dialogfeldes vom oberen Rand des Bildschirms festlegt. Wenn Sie ypos nicht angeben, wird das Dialogfeld etwa ein Drittel unterhalb des oberen Bildschirmrands (bezogen auf die gesamte Bildschirmhöhe) angezeigt. |
helpfile |
Optional. Ein Zeichenfolgenausdruck, der die Hilfedatei mit der kontextbezogenen Hilfe für das Dialogfeld angibt. Wenn Sie helpfile angeben, müssen Sie auch context angeben. |
context |
Optional. Ein numerischer Ausdruck mit der Hilfekontextkennung, die der Autor der Hilfe für das entsprechende Hilfethema vergeben hat. Wenn Sie context angeben, müssen Sie auch helpfile angeben. |
Bemerkungen
Wenn sowohl helpfile als auch context angegeben werden, kann der Benutzer F1 (Windows) oder HILFE (Macintosh) drücken, um das entsprechende Hilfethema zu context anzusehen. Einige Host-Anwendungen, z.B. Microsoft EXCEL, fügen dem Dialogfeld automatisch eine Schaltfläche Hilfe hinzu. Wenn der Benutzer auf OK klickt oder die EINGABETASTE drückt, gibt die InputBox-Funktion den Inhalt des Textfeldes zurück. Klickt der Benutzer auf Abbrechen, gibt die Funktion eine Null-Zeichenfolge ("") zurück.
Anmerkung Wenn Sie außer dem ersten benannten Argument weitere Argumente angeben möchten, müssen Sie InputBox in einem Ausdruck verwenden. Wenn Sie einige Argumente mit einer bestimmten Position nicht angeben möchten, müssen Sie dennoch das entsprechende Komma als Trennzeichen angeben.