MsgBox函數詳解[完整版]

更多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函數返回值"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章