VBA消息框(MsgBox)

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

語法

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

參數說明

  • prompt - 必需的參數。在對話框中顯示為消息的字串。提示的最大長度大約為1024個字元。 如果消息擴展為多行,則可以使用每行之間的回車符(Chr(13))或換行符(Chr(10))來分隔行。
  • buttons - 可選參數。一個數字運算式,指定要顯示的按鈕的類型,要使用的圖示樣式,默認按鈕的標識以及消息框的形式。如果留空,則按鈕的默認值為0
  • title - 可選參數。 顯示在對話框的標題欄中的字串運算式。 如果標題留空,應用程式名稱將被放置在標題欄中。
  • helpfile - 可選參數。一個字串運算式,標識用於為對話框提供上下文相關幫助的幫助檔。
  • Context - 可選參數。一個數字運算式,用於標識由幫助作者分配給相應幫助主題的幫助上下文編號。 如果提供上下文,則還必須提供helpfile

Buttons 參數可以使用以下任何值 -

  • 0 vbOKOnly - 僅顯示“確定” 按鈕。
  • 1 vbOKCancel - 顯示“確定”“取消” 按鈕。
  • 2 vbAbortRetryIgnore - 顯示“中止”“重試”“忽略” 按鈕。
  • 3 vbYesNoCancel - 顯示“是”“否”“取消” 按鈕。
  • 4 vbYesNo - 顯示“是”“否”按鈕。
  • 5 vbRetryCancel - 顯示“重試”“取消”按鈕。
  • 16 vbCritical - 顯示嚴重消息圖示。
  • 32 vbQuestion - 顯示警告查詢圖示。
  • 48 vbExclamation - 顯示警告消息圖示。
  • 64 vbInformation - 顯示資訊消息圖示。
  • 0 vbDefaultButton1 - 第一個按鈕是默認的。
  • 256 vbDefaultButton2 - 第二個按鈕是默認的。
  • 512 vbDefaultButton3 - 第三個按鈕是默認的。
  • 768 vbDefaultButton4 - 第四個按鈕是默認的。
  • 0 vbApplicationModal 應用程式模式 - 當前的應用程式將不會工作,直到用戶回應消息框。
  • 4096 vbSystemModal 系統模式 - 所有的應用程式將不會工作,直到用戶回應消息框。

上述值在邏輯上分為四組:第一組(05)指示要在消息框中顯示的按鈕。第二組(16,32,48,64)描述要顯示的圖示的樣式,第三組(0,256,512,768)指示哪個按鈕必須是默認的,第四組(0,4096 )確定消息框的形式。

返回值

MsgBox函數可以返回以下值之一,可用於標識用戶在消息框中單擊的按鈕。

  • vbOK - 確定 按鈕被點擊。
  • vbCancel - 取消 按鈕被點擊。
  • vbAbort - 中止 按鈕被點擊。
  • vbIgnore - 忽略 按鈕被點擊。
  • vbYes - 按鈕被點擊。
  • vbNo - 按鈕被點擊。

示例

Function MessageBoxDemo()
   'Message Box with just prompt message '
   MsgBox("歡迎您~")

   'Message Box with title, yes no and cancel Butttons  '
   result = MsgBox("你喜歡藍色嗎?", 3, "選擇一個選項")

   ' Assume that you press No Button  '
   MsgBox ("返回 result 的值是:" &result)
End Function

輸出結果

第1步 - 上述功能函數可以通過單擊VBA窗口上的“運行”按鈕或通過從Excel工作表調用函數來執行,如以下螢幕截圖所示 -

運行副程式 -

第2步 - 顯示一個簡單的消息框,並顯示消息“歡迎”和“確定”按鈕

第3步 - 點擊確定後,另一個對話框會顯示一個消息,同時顯示“是,否和取消”按鈕。

第4步 - 點擊“否”按鈕後,該按鈕(7)的值將被存儲為一個整數,並顯示為一個消息框給用戶,如以下螢幕截圖所示。使用這個值,可以理解用戶點擊了哪個按鈕。


上一篇: VBA宏注釋 下一篇: VBA輸入框(InputBox)