位置:首頁 > 高級語言 > VBA教學 > VBA消息框

VBA消息框

VBA消息框

MsgBox函數顯示一個消息框,並等待用戶點擊一個按鈕,然後根據用戶點擊該按鈕的動作執行。

語法

MsgBox(prompt[,buttons][,title][,helpfile,context])

參數說明

  • Prompt - 必需的參數。這顯示在對話框中的消息的字符串。 prompt 最大長度大約是1024個字符。如果消息擴展到多行,那麼可以單獨使用回車符(CHR(13))或每行之間的換行符(CHR(10))。

  • buttons - 一個可選的參數。數值表達式,用於指定按鈕的類型來顯示,圖標樣式使用,默認按鈕的標識以及消息框的樣式。如果留空,對於按鈕的默認值是0。

  • Title - 一個可選的參數。在對話框的標題欄中顯示的字符串表達式。如果標題為空,應用程序的名稱被放置在此標題欄中。

  • helpfile - 一個可選的參數。標識幫助文件中的字符串表達式使用提供的對話框中的上下文相關幫助。

  • context - 一個可選的參數。數值表達式,用於標識由幫助文件的作者指定給適當的幫助主題的上下文編號。如果上下文中提供幫助文件,此項還必須提供。

按鈕參數可以采用任何的下列值:

  • 0 vbOKOnly隻顯示OK按鈕。

  • 1 vbOKCancel顯示確定和取消按鈕。

  • 2 vbAbortRetryIgnore顯示放棄,重試和忽略按鈕。

  • 3 vbYesNoCancel Displays Yes, No, and Cancel buttons.

  • 4 vbYesNoCancel顯示是,否和取消按鈕。

  • 5 vbRetryCancel顯示重試和取消按鈕。

  • 16 vbCritical顯示關鍵信息的圖標。

  • 32 vbQuestion顯示警告查詢圖標。

  • 48 vbExclamation顯示一條警告信息圖標。

  • 64 vbInformation顯示信息消息圖標。

  • 0 vbDefaultButton1第一個按鈕是默認的。

  • 256 vbDefaultButton2第二個按鈕是默認的。

  • 512 vbDefaultButton3第三個按鈕是默認的。

  • 768 vbDefaultButton4第四個按鈕是默認的。

  • 0 vbApplicationModal應用模式。當前應用程序將無法正常工作,直到用戶響應消息框。

  • 4096 vbSystemModal係統模式。所有的應用程序將無法正常工作,直到用戶響應消息框。

上麵的值是邏輯上劃分為四組:第一組(0-5)表示按鈕被顯示在消息框中。第二組(16,32,48,64)描述的圖標的sytle要被顯示,第三組(0,256,512,768)指示哪些鍵必須是缺省值,第四組值(0,4096 )確定該消息框的樣式。

返回值

MsgBox函數可以返回使用,我們將能夠識彆此按鈕,用戶在消息框中單擊了下列值之一。

  • 1 - vbOK - "確定"被點擊

  • 2 - vbCancel - "取消"被點擊

  • 3 - vbAbort - "中止"被點擊

  • 4 - vbRetry - "重試"被點擊

  • 5 - vbIgnore - "忽略"被點擊

  • 6 - vbYes - "是"被點擊

  • 7 - vbNo - "否"被點擊

例子

   
Function MessageBox_Demo()
  'Message Box with just prompt message
  MsgBox("Welcome")    
  
  'Message Box with title, yes no and cancel Butttons 
  a = MsgBox("Do you like blue color?",3,"Choose options")
  ' Assume that you press No Button	
  msgbox ("The Value of a is " & a)
End Function

輸出

1.上述功能可以通過點擊VBA窗口“運行”按鈕,或通過調用Excel工作表函數,如下圖所示執行。

Message Box in VBA

2.一個簡單的消息框將顯示一條消息,“Welcome”和“OK”按鈕:

Message Box in VBA

3.單擊確定後,另一個對話框將顯示一條消息,“yes, no, 和 cancel”按鈕。

Message Box in VBA

4.單擊取消按鈕鍵的值之後(7)被存儲為一個整數,如下所示顯示消息框給用戶。使用該值,我們就能夠知道哪個按鈕用戶點擊。

Message Box in VBA