IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Visual Basic - Ein- und Ausgabe mit VB realisieren



Ein- und Ausgabe mit VB realisieren

Einfache Kommunikation mit dem Anwender mit Hilfe der InputBox- und MsgBox-Funktion.


Autor: Tobias Surmann (incsoft)
Datum: 25-03-2003, 11:13:42
Referenzen: keine
Schwierigkeit: Anfänger
Ansichten: 23895x
Rating: 6.67 (3x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

Die Ein- und Ausgabe wird in VB zumeist mit zwei Funktionen realisiert. Die Funktion InputBox zeigt einen Dialog, in den der Anwender etwas eingeben soll, MsgBox kümmert sich um die Ausgabe von Hinweistexten um auf einfache Weise mit dem Anwender zu kommunizieren. Die Dialoge sind aus vielen Windows-Programmen bekannt, hier einige Beispiele:



Abb: Einige MsgBox-Dialoge aus Windows



Abb: Die InputBox

MsgBox
Syntax:

MsgBox(Prompt, [Buttons], [Title], [Helpfile], [Context]) As VbMsgBoxResult

Argumente/Parameter in [ ] sind optional. Es gibt verschiedene Arten von Messageboxen, sowohl vom Aussehen als auch von der Funktion her. Wir fangen mit einer einfachen Mitteilung in der Form

MsgBox "Hinweistext"

an. Zwischen den Anführungszeichen steht der Text, den der Anwender sehen soll. Eine solche MessageBox zeigt nur den Text ohne irgendwelche grafischen Symbole und nur einen einzelnen Button mit der Aufschrift "OK", den der Anwender drücken muss, bevor das Programm weiter ausgeführt wird. Damit MsgBox andere Schaltflächen anzeigt, muss als Parameter (Buttons) eine Konstante aus der folgenden Tabelle übergeben werden:

Konstante Wert Funktion
vbOKOnly
0
nur OK (Standardeinstellung)
vbOKCancel
1
OK, Abbrechen
vbAbortRetryIgnore
2
Abbrechen, Wiederholen, Ignorieren
vbYesNoCancel
3
Ja, Nein, Abbrechen
vbYesNo
4
Ja, Nein
vbRetryCancel
5
Wiederholen, Abbrechen

Meist kann man sich die Konstante besser merken als den Wert. Es ist aber egal ob man den Wert (z.B. 1) oder die Konstante (z.B. vbOKCancel) als Parameter übergibt. Über den Parameter Buttons kann man auch die Ausgabe der Symbole steuern. Durch Addieren der Werte können mehrere Konstanten miteinander kombiniert werden.

Konstante Wert Funktion
vbCritical
16
kritischer Hinweis
vbQuestion
32
Fragezeichen
vbExclamation
48
Warnung
vbInformation
64
Information

Beispiel: Eine Fehlermeldung soll ausgegeben werden. Der Anwender soll entscheiden ob er den Vorgang wiederholen oder abbrechen möchte. Der dazugehörige Sourcecode lautet:

MsgBox "Ein Fehler ist aufgetreten!", vbCritical + vbRetryCancel

Durch Addieren der Konstanten vbCritical und vbRetryCancel werden beide Einstellungen berücksichtigt. Die Ausgabe auf dem Bildschirm sollte so aussehen:



Jetzt möchte man vielleicht nicht, dass in der Titelleiste der MessageBox "Microsoft Excel" angezeigt wird. Mit dem dritten Parameter der MsgBox-Funktion (Title) kann man einen Titel vergeben. Dieser muss wie auch der Hinweistext in Anführungszeichen stehen.

MsgBox "Ein Fehler ist aufgetreten!", vbCritical + vbRetryCancel, "FEHLER"

Die beiden letzten Parameter der MsgBox-Funktion sind für die Excel-Programmierung eher unwichtig und brauchen nicht berücksichtigt zu werden.



InputBox
Syntax:

InputBox(Prompt, [Title],[Default], [XPos], [YPos], [HelpFile], [Context]) As String

Mit der InputBox kann man Informationen vom Anwender abfragen. Diese werden in einer Variable vom Typ String (=Text) gespeichert und dann vom Programm verarbeitet. Zuerst muss der Anwender natürlich wissen was er überhaupt eingeben soll. Mit

Antwort = InputBox("Bitte Zahl eingeben:")

teilt man ihm dies mit. Der Title-Parameter hat die gleiche Funktion wie bei der MsgBox. Der Default-Parameter enthält einen Standard-Wert der vorgegeben sein soll, wenn sich die InputBox öffnet, z.B. 10:

Antwort = InputBox("Bitte Zahl eingeben:",
"Zahl erforderlich" , "10")

Mit XPos und YPos kann man die Position der InputBox auf dem Bildschirm angeben.



Die Variable Antwort enthält nach dem Aufruf von InputBox die Informationen, die der Anwender tatsächlich eingegeben hat.

Verwendung von MsgBox und InputBox beim GAUSS-Problem

Wir haben die folgende Funktion gegeben, die die Zahlen 1 bis n addiert und das Ergebnis daraus zurückgibt:

Function GAUSS(n)
GAUSS = (n + 1) * (n / 2)
End Function

Um die Funktion in jeder beliebigen Tabellenzelle von Excel komfortabel anwenden zu können fügen wir eine Schaltfläche in die Tabelle ein und erstellen eine neue Ereignis-Prozedur für das Klick-Ereignis (wenn der Anwender auf die Schaltfläche klickt wird der darin aufgeführte Programmcode ausgeführt) indem wir auf Neu klicken.

Der VB Quellcode-Editor öffnet sich nun und zeigt das Grundgerüst der neuen Ereignisprozedur an.



Sub Schaltfläche1_BeiKlick()

End Sub

Wir schreiben folgenden Quellcode hinein um die Zahl n vom Anwender zu bekommen, das Ergebnis per MsgBox anzeigen zu lassen, und die in der Tabelle ausgewählte(n) Zelle(n) mit dem Ergebnis zu füllen:

Antwort = InputBox("n eingeben:","Gauss","10")
MsgBox "Ergebnis: " & GAUSS(Antwort), vbInformation, "Ergebnis"
Selection = GAUSS(Antwort)


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06243
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1144
Comments: 0