Với Message Boxes, người sử dụng chỉ có thể click lín một button. Trong thực tế, đôi khi ta muốn người sử dụng đânh văo thím một ít dữ kiện, trong trường hợp ấy ta có thể dùng
Input Boxes.
Input Boxes giống giống Message Box, nhưng nó chuyín nhận dữ liệu đầu văo từ người sử dụng vă không hiển thị một biểu tượng. Ví dụ:
Private Sub CmdGreeting_Click() Dim strReply As String
strReply = InputBox$("Please enter your name", "What 's your name?", "John", 2000, 1000)
MsgBox "Hi " & strReply & ", it 's great to meet you!", vbOKOnly, "Hello"
End Sub
sẵn trong Input Box khi nó xuất hiện, nếu đó lă đầu văo mă người sử dụng thường đânh văo thì người sử dụng chỉ cần click nút OK lă đủ. Hai tham số cuối cùng lă Optional (tùy chọn, có cũng được, không có cũng không sao). Nó lă toạ độ X,Y của Input Box trong đơn vị twips. Hệ thống tọa độ lấy góc trín bín trâi lăm chuẩn với X=0, Y=0.
Input Box có hai dạng hăm:
- InputBox$ - trả về một xđu đăng hoăng
- InputBox - trả về một xđu nằm trong biến Variant
Nếu chúng ta click nút Cancel thì giâ trị trả về lă xđu rỗng (empty string), chúng ta có thể thử xđu rỗng để nhận diện trường hợp năy.
Dưới đđy lă một ví dụ dùng hăm InputBox:
Private Sub CmdFortuneTeller_Click() Dim varValue As Variant
Dim intAge As Integer
varValue = InputBox("Please enter your age", "How old are you?", "18")
If IsNumeric(varValue) Then intAge = Val(varValue) If intAge < 20 Then
MsgBox "You are a young and ambitious person", vbOKOnly, "Observation"
Else
MsgBox "You are a matured and wise person", vbOKOnly, "Observation"
End If Else
MsgBox "Oh oh! - please type your age!", vbCritical + vbOKOnly, "Input Error"
End If
End Sub
Mặc dầu Input Boxes rất dễ dùng, trín thực tế rất ít khi ta dùng nó vì những lý do sau đđy: - Ta không thể lăm gì được trong lúc người sử dụng nhập dữ liệu, phải đợi sau khi người sử
dụng click OK thì mới bắt đầu xử lý xđu văn bản đầu văo. Ngược lại nếu ta dùng một Textbox trong một Form thông thường, ta có thể code trong câc bộ quản lý sự kiện của Events KeyPress hay Change để kiểm soât câc sự bấm phím (keystrokes) của người sử dụng.
- Input Boxes chỉ cho ta đânh văo một xđu văn bản duy nhất. Nhiều khi ta muốn người sử dụng đânh văo nhiều thứ nín cần phải có một form riíng.
- Sau cùng, Input Boxes xem không đẹp mắt. Chương trình dùng Input Boxes có vẻ như không chuyín nghiệp, do đó ta cần phải dùng Custom Dialogs.