Arbeitsblatt	Name:	Klasse / Kurs:
Fach:	Datum:	RI2010 Anzahl der Seiten: 4

Ein- und Ausgabefenster

Starten Sie Word.

Speichern Sie eine leere Datei ab: "Fenster.docm".

Öffnen Sie die VBA-Entwicklungsumgebung.

oder ALT + F11

Vorbemerkungen

___

Der Programmcode beginnt mit public sub und dem Namen des VBA-Programms gefolgt von 2 Klammern ()

z. B. public sub Probe()

___

Jetzt folgt die Deklaration, indem alle verwendeten Variablen festhelegt (erklärt) werden. Die Deklaration setzt sich wie folgt zusammen:

Der Datentyp des Bezeichners Die Anweisung „dim“ dim Name as string

Der Bezeichner = Name der Variablen

___

Es folgt der Programmcode.

z. B.

dblZahl = 235.23
MsgBox dblZahl

___

Ende der Prozedur

Der Text end sub wird vom Programm automatisch erzeugt, sobald die erste Zeile public sub … abgeschlossen wurde.

___

Für einfache Ein- und Ausgaben stellt VBA die Funktionen

InputBox und

MessageBox

zur Verfügung.

1. Die InputBox

Mit InputBoxen können einfache Eingaben eines Benutzers weiter verarbeitet werden. Die Eingabe selbst wird als String (Zeichenkette) gespeichert.

Eine InputBox benötigt mindestens einen Meldungstext, den so genannten prompt. Weitere Argumente sind optional. Die Argumente der Funktion werden jeweils durch ein Komma getrennt.

Syntax:

InputBox(prompt[, title] [, default] [, xpos] [, ypos])

Prompt = Text

Title = Überschrift der Box

Default = dient zur Vorgabe einer Eingabemöglichkeit

Xpos = Positionsangabe am Bildschirm

Ypos = Positionsangabe am Bildschirm

Beispiel

Public Sub Beispiel1()

Dim name As String

name = InputBox("Bitte geben Sie Ihren Namen ein.")

End Sub

Eine Inputbox muss an eine Variable gebunden werden, wenn die Eingabe weiter verarbeitet werden soll. Mit dem Argument Title kann die Titelleiste mit einem individuellen Text versehen werden.

Beispiele

Public Sub Beispiel2()

Dim name As String

name = InputBox("Bitte geben Sie Ihren Namen ein.", "Eingabefenster")

End Sub

Public Sub Beispiel3()

Dim name As String

name = InputBox("Bitte geben Sie Ihren Namen ein.", "Eingabefenster", "Ihr Name", 1, 1)

End Sub

Interpretieren Sie das Ergebnis.

2. Die MessageBox

MessageBoxen werden verwendet um Meldungen auszugeben. Einziges verbindliches Argument ist der Meldungstext (prompt).

Syntax:

MsgBox(prompt[, buttons] [, title])

prompt = Meldungstext

buttons = Typ der Schaltfläche, Art des Symbols

title = Überschrift der Box

Beispiel

Public Sub Beispiel3()

MsgBox "Guten Tag liebe Leute!"

End Sub

Wenn nun z. B. abgefragt werden soll, welche Schaltfläche gewählt wurde, muss auch die MessageBox an eine Variable gebunden werden.

Beispiel

Public Sub Beispiel4()

Dim nachricht As String

nachricht = MsgBox("Prima Wetter heute!")

End Sub

Das Argument „Buttons“ legt fest, welche Schaltflächen in der Messagebox angezeigt werden sollen. Wird das Argument nicht angegeben, wird nur die Schaltfläche OK angezeigt. Sollen z. B die Schaltflächen Ja und Nein angezeigt werden, sieht der Code so aus:

Public Sub Beispiel5()

Dim nachricht As String

nachricht = MsgBox("Hast Du gut geschlafen?", vbYesNo)

End Sub

Die Möglichkeiten des Arguments „Buttons“ können auch miteinander kombiniert werden. Dann muss als Verkettungsoperator das + Zeichen verwendet werden.

Über das Argument Title kann wie bei der InputBox ein Text für die Titelleiste angegeben werden.

Je nach Länge des Textes, der in der MessageBox ausgegeben wird, werden die Zeilen automatisch umgebrochen. Mit der Funktion Chr kann der Zeilenumbruch selbst bestimmt werden.

Chr(Zeichencode)

Das Argument Zeichencode erhält den Code des jeweiligen ASCII Zeichens, das ausgegeben werden soll., wobei die Zeichencodes 0 - 31 den nicht darstellbaren Zeichen entsprechen. Der Zeichencode 13 entspricht z. B. der Entertaste, also einem Zeilenumbruch.

Beispiel

Public Sub Beispiel6()

Dim nachricht As String

nachricht = MsgBox ("Liebe Leute," + Chr(13) + _

"heute wollen wir mal eben VBA lernen", , "Überraschung!")

End Sub

Vergleichen Sie die beiden Codes:

Sub beispiel_msgbox1() Dim dblZahl As Double dblZahl = 235.23 MsgBox dblZahl End Sub	Sub beispiel_msgbox2() Dim strText As String strText = "Hallo!" MsgBox strText End Sub

Rückgabewerte

Jede Schaltfläche liefert einen Wert zurück, über den die gewählte Schaltfläche in der MessageBox abgefragt werden kann.

Konstante	Beschreibung	Interpretieren Sie folgenden Code: Sub beispiel_msgbox8() Dim strText As String strText = " wichtig !!!" MsgBox "Dieser Text ist " & strText, 16, "meine Ausgabe" End Sub Erstellen Sie zu folgendem Fenster den entsprechenden Code:
Schalter
vbOK	OK	1
vbCancel	Abbrechen	2
vbAbort	Abbruch	3
vbRetry	Wiederholen	4
vbIgnore	Ignorieren	5
vbYes	Ja	6
vbNo	Nein	7
Hinweise / Signale
vbCritical	Kritische Meldung	16
vbQuestion	Fragezeichen	32
vbExclamation	Warnung	48
vbInformation	Information	64

Die Syntax ist absichtlich unvollständig dargestellt. Auf weitere Möglichkeiten wird nicht eingegangen.

wie 1