MsgBox Function
Updated: March 2009
Displays a message in a dialog box, waits for the user to click a button, and returns a value indicating which button the user clicked.
MsgBox(prompt[, buttons][, title][, helpfile, context])
The buttons argument settings are:
|
Constant |
Value |
Description |
|---|---|---|
|
vbOKOnly |
0 |
Display OK button only. |
|
vbOKCancel |
1 |
Display OK and Cancel buttons. |
|
vbAbortRetryIgnore |
2 |
Display Abort, Retry, and Ignore buttons. |
|
vbYesNoCancel |
3 |
Display Yes, No, and Cancel buttons. |
|
vbYesNo |
4 |
Display Yes and No buttons. |
|
vbRetryCancel |
5 |
Display Retry and Cancel buttons. |
|
vbCritical |
16 |
Display Critical Message icon. |
|
vbQuestion |
32 |
Display Warning Query icon. |
|
vbExclamation |
48 |
Display Warning Message icon. |
|
vbInformation |
64 |
Display Information Message icon. |
|
vbDefaultButton1 |
0 |
First button is default. |
|
vbDefaultButton2 |
256 |
Second button is default. |
|
vbDefaultButton3 |
512 |
Third button is default. |
|
vbDefaultButton4 |
768 |
Fourth button is default. |
|
vbApplicationModal |
0 |
Application modal. The user must respond to the message box before continuing work in the current application. |
|
vbSystemModal |
4096 |
System modal. On Microsoft Win16 systems, all applications are suspended until the user responds to the message box. On Microsoft Win32 systems, this constant provides an application modal message box that always remains on top of any other programs that you have running |
The first group of values (0–5) describes the number and type of buttons displayed in the dialog box; the second group (16, 32, 48, 64) describes the icon style; the third group (0, 256, 512, 768) determines which button is the default; and the fourth group (0, 4096) determines the modality of the message box. When adding numbers to create a final value for the argument buttons, use only one number from each group.
When both helpfile and context are provided, the user can press F1 to view the Help topic corresponding to the context.
If the dialog box displays a Cancel button, pressing the ESC key has the same effect as clicking Cancel. If the dialog box contains a Help button, context-sensitive Help is provided for the dialog box. However, no value is returned until one of the other buttons is clicked.
When the MsgBox function is used with Microsoft Internet Explorer, the title of any dialog presented always contains "VBScript:" to differentiate it from standard system dialogs.
The following example illustrates the use of the MsgBox function.
result = MsgBox ("File Save Error", _
vbAbortRetryIgnore+vbExclamation+vbDefaultButton2, "File Save Error")
Dim message
Select Case result
Case vbAbort
message = "You chose Abort"
Case vbRetry
message = "You chose Retry"
Case vbIgnore
message = "You chose Ignore"
End Select
MsgBox message, vbInformation
In vbScript, it is not permitted to call a subroutine (or a function where you do not make use of the return value) with brackets unless you use the Call statement. The apparent exceptions to the rule are where no arguments are supplied, or when only one argument is supplied; both subname() and subname(argument) appear to be valid.
To call MsgBox with optional parameters, without assigning the result, either omit the brackets, or use the Call statement. The following examples are valid and will work:
MsgBox "This is a messagebox"
MsgBox("This is a message box")
MsgBox "This is a messagebox", vbInformation
dlgResult = MsgBox("This is a messagebox", vbInformation + vbOKCancel)
Call MsgBox("This is a messagebox", vbInformation)
- 10/19/2011
- Jason Musgrove
MsgBox("I'm OK.")
However, when using any of the optional arguments, you MUST include the assignment. For example:
MsgBox("I'm OK.", vbInformation)
will not compile. You must include the assignment:
response = MsgBox("I'm OK.", vbInformation)
- 7/8/2011
- Evaporation
You cand display the value of a variant inside of a MsgBox by simply typing it's name as a parameter:
cat = "Are you OK?"
result = MsgBox ( cat , vbOKOnly + vInformation, "Check your pulse!")
instead of text with quatation marks.
You can also use the & in order to concatenate more text or to combine variants and text:
cat = 78
result = MsgBox ( "Your pulse is " & cat & ". Please see a doctor!", vbOKOnly + vInformation, "Check your pulse!")