Excel VBA輸出msgbox函數,這個輸出函數你知道多少

大家好,前面示例中涉及過輸出msgbox函數,使用最簡單的形式,本節就將這個函數的內容擴充一下,學習其完整的結構,內容重在理解。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

一、msgbox 基礎語法

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

msgbox有語句和函數兩種格式如下,其中[ ]中的內容可以省略。

語句格式:MsgBox(prompt[, buttons] [, title] [, helpfile, context])

函數格式:變量=MsgBox(prompt[, buttons] [, title] [, helpfile, context])

其中的參數除buttons外均與inputbox函數相同。

prompt是對話框消息出現的字符串表達式,title為對話框標題欄中字符串,buttons參數後面會具體說明。helpfile,context是與幫助文件相關基本省略。

首先說明一下語句和函數兩種形式的區別,msgbox語句形式,僅顯示內容,點擊確定不會產生其他結果。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

那麼增加變量i,將上面的示例改成函數格式看下結果。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

同樣一個msgbox語句,點擊確定按鈕後,函數格式返回了一個數值1。這個變量返回值1就提供了可以和程序交互的可能。

如果可以有幾個不同的按鈕可以選擇,然後返回不同的值就更實用了?不同值可以用來作判斷條件。如下圖所示:

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

通過更改了一個buttons的參數值35,改變了對話框的樣式(下面會具體說明。)可以看到點擊三個按鈕後,變量i得到的返回值不同,根據不同返回值來作條件編寫適用的判斷結構代碼,就可以實現簡單的交互。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

那麼現在擺在我們面前的就是兩個問題:一如何調整buttons參數來顯示不同的對話框?二、點擊不同的按鈕的具體返回值彙總。以下內容重在理解,理解後就很簡單。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

一、buttons 參數

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

buttons參數是用來指定顯示按鈕的數量及形式,提示圖標樣式、默認按鈕、消息框的強制相應等四方面內容的。

所以它實際可以由四組數值(或常數)組成的。當然四組數值並不是都必須的,根據需求選擇即可。先分別來看四組值和對應的內容,再看如何使用。

第一組(0~5)決定對話庫中按鈕的類型和數量。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

第二組(16,32,48,64)決定對話框中顯示的圖標。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

第三組(0,256,512,768)絕對對話框中默認的活動按鈕。活動按鈕中的文字會有顯示虛線。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

第四組(0,4096)決定消息框的強制響應性,不太常用。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

buttons參數對兩種表示方法,第一種容易理解的是使用常量,可以看到常量名字就提示了顯示內容。在寫第二參數時,系統也會自動提示常量內容。從四組常量中選擇需要的常量用+號連接,如下圖示例:

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

常量通常從前三組中選擇,只選擇第一組也是沒有問題,根據需求選擇即可。用常量的好處時,顯示內容一目瞭然,寫常量時,VBA程序也會提示。

第二種簡潔的顯示方式。就是選擇的常量對應值的加和。比如示例中的vbyesnocancel和vbquestion對應的值分別是3和32。那麼累加的和35就是buttons參數。(程序對值的設計保證不會有重複。)

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

這種方式很簡潔,但缺點時需要知道不同顯示樣式對應的值,同時改代碼時也涉及計算也不便修改,所以可以根據自己喜好來選擇把。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

二、msgbox 函數返回值

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

點擊msgbox函數對話框的按鈕,msgbox函數會有不同的返回值,通過變量可以獲得返回值,作為不同的判定條件,供我們設計人機交互,下面彙總一下。

Excel VBA輸出msgbox函數,這個輸出函數你知道多少

內容不需要特別記憶,可以查看幫助,或者直接在程序中寫小段代碼用debug.print來顯示變量返回參數即可。


Excel VBA輸出msgbox函數,這個輸出函數你知道多少

本節主要介紹了msgbox函數的使用方法,重點是buttons參數兩種表示方法和msgbox函數的返回值,重在理解,需要時按規則套用即可,祝大家學習快樂。


分享到:


相關文章: