複製鏈接
請複製以下鏈接發送給好友

msgbox

鎖定
MsgBox是Visual Basic和VBS中的一個函數,功能是彈出一個對話框,等待用户單擊按鈕,並返回一個Integer值表示用户單擊了哪一個按鈕。
“MsgBox”即為“Message Box”的縮寫,在英語中意為“信箱”。
中文名
msgbox
外文名
msgbox
全    稱
Message Box
英語中意
信息提示框

msgbox使用方法

msgbox語法

MsgBox (Prompt [,Buttons] [,Title] [,Helpfile,Context])

msgbox參數

MsgBox函數參數
部分
描述
Prompt
必選。字符串表達式,顯示在對話框中的消息。Prompt的最大長度大約為
1024個字符,由所用字符的字節大小決定。如果Prompt的內容超過一行,則可以在每一行之間用回車符(Chr(13))、換行符(Chr(10))或是回車與換行符的組合(Chr(13) & Chr(10),即vbCrLf)將各行分隔開來。
Buttons
可選。數值表達式,是一些數值的總和,指定所顯示的按鈕的數目及形式、使用的圖標樣式(及聲音),缺省按鈕以及消息框的強制性等。如果省略,則其缺省值為0。具體數值見“參數設置值”表格。
Title
可選。字符串表達式,在對話框標題欄中顯示的內容。如果省略Title,則將應用程序標題(App.Title)放在標題欄中。
Helpfile
可選。字符串表達式,用來向對話框提供上下文相關幫助的幫助文件。如果提供了Helpfile,則也必須提供Context。
Context
可選。數值表達式,由幫助文件的作者指定給適當的幫助主題的幫助上下文編號。如果提供了Context,則也必須提供Helpfile。

msgbox參數設置值

Buttons參數設置值
常數
描述
對話框中顯示的按鈕的類型與數目
vbOKOnly
0
只顯示“確定”按鈕。(缺省)
vbOKCancel
1
顯示“確定”和“取消”按鈕。
vbAbortRetryIgnore
2
顯示“終止”、“重試”和“忽略”按鈕。
vbYesNoCancel
3
顯示“是”、“否”和“取消”按鈕。
vbYesNo
4
顯示“是”和“否”按鈕。
vbRetryCancel
5
顯示“重試”和“取消”按鈕。
圖標的樣式(根據系統設置,可能伴有聲音)
vbCritical
16
顯示“錯誤信息”圖標。
vbQuestion
32
顯示“詢問信息”圖標。
vbExclamation
48
顯示“警告消息”圖標。
vbInformation
64
顯示“通知消息”圖標。
默認按鈕
vbDefaultButton1
0
第一個按鈕是默認按鈕。(缺省)
vbDefaultButton2
256
第二個按鈕是默認按鈕。
vbDefaultButton3
512
第三個按鈕是默認按鈕。
vbDefaultButton4
768
第四個按鈕是默認按鈕。
對話框的強制返回性
vbApplicationModal
0
應用程序強制返回;應用程序一直被掛起,直到用户對消息框作出響應才繼續工作。
vbSystemModal
4096
系統強制返回;全部應用程序都被掛起,直到用户對消息框作出響應才繼續工作。
對話框特殊設置
vbMsgBoxHelpButton
16384
將幫助按鈕添加到消息框。
vbMsgBoxSetForeground
65536
指定消息框窗口作為前景窗口。
vbMsgBoxRight
524288
文本為右對齊。
vbMsgBoxRtlReading
1048576
指定文本應為在希伯來和阿拉伯語系統中的從右到左顯示。
這些常數都是Visual Basic for Applications(VBA)指定的。所以,可以在程序代碼中使用這些常數名稱,而不使用實際數值。

msgbox返回值

MsgBox函數返回值
常數
描述
vbOK
1
單擊了“確定”按鈕。
vbCancel
2
單擊了“取消”按鈕。
vbAbort
3
單擊了“終止”按鈕。
vbRetry
4
單擊了“重試”按鈕。
vbIgnore
5
單擊了“忽略”按鈕。
vbYes
6
單擊了“是”按鈕。
vbNo
7
單擊了“否”按鈕。

msgbox説明

MsgBox函數效果 MsgBox函數效果
在提供了Helpfile與Context參數的時候,用户可以按F1來查看由Context參數指定的幫助主題。像Microsoft Excel這樣的一些主機應用程序就會在對話框中自動添加一個幫助按鈕。
如果對話框顯示“取消”按鈕,則按下Esc鍵與單擊“取消”按鈕的效果相同。如果對話框中有幫助按鈕,則對話框中提供與上下文相關的幫助。但是,直到其它按鈕中有一個被單擊之前,都不會返回任何值。

msgbox代碼示例

一、使用MsgBox函數,在具有“是”及“否”按鈕的對話框中顯示一條錯誤信息。示例中的缺省按鈕為“否”,並假設Demo.hlp為一幫助文件,其中有一個幫助主題編號為1000。
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "程序發生錯誤,繼續?" '定義消息文本
Style = vbYesNo + vbCritical + vbDefaultButton2 '定義對話框樣式
Title = "錯誤信息" '定義標題文本
Help = "Demo.hlp" '定義幫助文件
Ctxt = 1000 '定義幫助主題編號
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then '用户按下“是”按鈕
    MyString = "Yes" '進行某些操作
Else '用户按下“否”按鈕
    MyString = "No" '進行某些操作
End If
二、使用vbCrLf常數在消息內容中換行。
MsgBox "第1行" & vbCrLf & "第2行"
三、使用vbTab常數顯示多行對齊的文本。
MsgBox "常數" & vbTab & "值" & vbCrLf & _
"vbOK" & vbTab & 1 & vbCrLf & _
"vbCancel" & vbTab & 2 & vbCrLf & _
"vbAbort" & vbTab & 3 & vbCrLf & _
"……" & vbTab & "……", _
vbOKOnly, "MsgBox函數返回值"