更多VBS函數查詢請點擊這裏
簡介:
MsgBox是Visual Basic和VBS中的一個函數,功能是彈出一個對話框,等待用戶單擊按鈕,並返回一個Integer值表示用戶單擊了哪一個按鈕。
“MsgBox”即爲“Message Box”的縮寫,在英語中意爲“信箱”。
語法:
MsgBox (Prompt [,Buttons] [,Title] [,Helpfile,Context])
參數:
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。
=================================================
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 指定文本應爲在希伯來和阿拉伯語系統中的從右到左顯示。
彈窗示例:
msgbox "彈出窗口",vbyesnocancel+vbinformation
這樣就彈出帶有信息圖標和3個選擇的窗口了
說明:
(1)第一組值(0–5)描述了消息框中顯示的按鈕的類型與數目;
第二組值(16,32,48,64)描述了圖標的樣式;
第三組值(0,256,512,768)說明哪一個按鈕是缺省值;
第四組值(0,4096)則決定消息框的強制返回性。
將這些數字相加以生成Buttons參數值的時候,只能由每組值取用一個數字。
(2)這些常數都是Visual Basic for Applications(VBA)指定的,可以在程序代碼中使用這些常數名稱代替實際數值。
例如:
msgbox "彈出窗口",vbyesnocancel+vbinformation+vbSystemModal
與
msgbox "彈出窗口",4163
的效果是一樣的,即vbyesnocancel+vbinformation+vbSystemModal的值總和等於4163。
============================================
MsgBox函數返回值:
常數 值 描述
vbOK 1 單擊了“確定”按鈕。
vbCancel 2 單擊了“取消”按鈕。
vbAbort 3 單擊了“終止”按鈕。
vbRetry 4 單擊了“重試”按鈕。
vbIgnore 5 單擊了“忽略”按鈕。
vbYes 6 單擊了“是”按鈕。
vbNo 7 單擊了“否”按鈕。
說明:
在提供了Helpfile與Context參數的時候,用戶可以按F1來查看由Context參數指定的幫助主題。像Microsoft Excel這樣的一些主機應用程序就會在對話框中自動添加一個幫助按鈕。
如果對話框顯示“取消”按鈕,則按下Esc鍵與單擊“取消”按鈕的效果相同。如果對話框中有幫助按鈕,則對話框中提供與上下文相關的幫助。但是,直到其它按鈕中有一個被單擊之前,都不會返回任何值。
==============================================
示例:
msgbox "彈出窗口"
這一行代碼就可以彈出寫着"彈出窗口"的確定窗口,
想要多個選擇的窗口,如下
msgbox "彈出窗口" ,vbyesnocancel
這樣就有了"是""否""取消"三個選項了。
一、使用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函數返回值"