RSS
StartseiteKnowledge LibraryTop 10Impressum

2.15 Wie lässt sich feststellen, ob der Benutzer bei der InputBox "Abbrechen" gewählt hat?

Einer MsgBox lässt sich ohne weiteres entlocken, welche Schaltfläche der Anwender gewählt hat. Wäre natürlich auch traurig, wenn dem nicht so wäre. Aber auch bei der InputBox wäre es ebenfalls von Nutzen, wenn man ermitteln könnte, ob der Anwender "OK" oder "Abbrechen" gewählt hat.

Man kann, wie folgendes Beispiel zeigt:

Dim strErgebnis As String
    
strErgebnis = InputBox("Gib was ein oder lass es sein:")
    
If StrPtr(strErgebnis) = 0 Then
  Debug.Print "Der Anwender wählte 'Abbrechen'"
Else
  Debug.Print "Der Anwender wählte 'OK'"
End If

Die VB Hilfe versucht hier, einem eine leere Zeichenfolge (="") für eine Null- Zeichenfolge (= uninitialisierter String = vbNullString) zu verkaufen. Zwischen beiden besteht aber ein ein großer Unterschied und genau anhand dieses Unterschieds, kann man auch eindeutig unterscheiden, ob der Anwender "OK" gewählt hat (Rückgabe = leere Zeichenfolge) oder "Abbrechen" (Rückgabe = Null-Zeichenfolge).