Die InputBox

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.

Die Vollständige Syntax der InputBox

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.

More:

Das if-Konstrukt