How to detect inputbox OK or Cancel

Visual Basic Topics
Post Reply
Cyclops
Lieutenant
Lieutenant
Posts: 71
Joined: Wed Jul 15, 2009 1:48 pm
Location: London

How to detect inputbox OK or Cancel

Post by Cyclops » Wed Oct 21, 2009 5:27 pm

You display an InputBox. But did the user press Cancel - or OK without entering anything? If you thought there was no way to tell the difference, you're wrong.

You see, if the user presses cancel, vbNullString is returned. However if they press OK, the empty string ("") is sent back. But in Visual Basic, vbNullString equates to an empty string, so you can't compare the two - even though in reality, they're completely different.

However you can use the StrPtr ('string pointer') function to determine whether the return string is indeed a vbNullString - as by definition, a vbNullString 'pointer' is zero.

And this code demonstrates how to do that.

Code: Select all

Dim strInput As String

strInput = InputBox("Enter something:")

If StrPtr(strInput) = 0 Then
	MsgBox "You pressed cancel!"
End If

Post Reply

Return to “Visual Basic Programming”