VBA代碼中,Msgbox函數如何實現個性化對話框

2021-01-09 VBA語言專家

朋友們好,今日我們講解VBA代碼解決方案的第39講:VBA 代碼中如何實現Msgbox函數定製化人機對話消息框。

在上篇文章中簡單實現了MSGBOX對話框,但是界面不是很友好,那麼,如果希望MsgBox函數顯示的消息框具有特定的按鈕、圖標和標題欄,實現相對友好的人機對話界面該怎麼辦呢?可以使用MsgBox函數的buttons參數和title參數來解決

我們看看下面的表格MsgBox函數的buttons參數設置值:

在設定buttons參數值時,這些值可以相加使用,但每一組中只能選擇一個值。在程序代碼中也可以使用buttons參數的常數名稱,而不必使用實際數值。下面我們看看一個實際的應用:

如下面的代碼所示。

Sub MySpecialmsbox()

MsgBox Prompt:="歡迎光臨【VBA與GO語言】學習平臺,讓我一起學習!", _

Buttons:=vbOKCancel + vbInformation, _

Title:="溫馨提示"

End Sub

代碼解析:

MySpecialmsbox過程使用MsgBox函數顯示一個具有特定的按鈕、圖標和標題欄的消息框。

第3行代碼設置消息框的Buttons參數為vbOKCancel + vbInformation,,vbOKCancel如上的列表中「第一組設置消息框按鈕數目和類型」使消息框顯示時具有「確定」、「取消」按鈕和信息消息圖標。vbInformation是顯示信息消息圖標。

第4行代碼將消息框的Title參數設置為「溫馨提示」,使消息框的標題欄顯示「溫馨提示」。

下面看看MySpecialmsbox過程的代碼截圖,之所以要給出此截圖也是我實測的過程:

運行結果:

大家可以看到在上面的對話框中有一個藍色的驚嘆號,如果把上面的代碼修改為:

Sub MySpecialmsbox()

MsgBox Prompt:="歡迎光臨【VBA與GO語言】學習平臺,讓我一起學習!", _

Buttons:=vbOKCancel, _

Title:="溫馨提示"

End Sub

也就是說講vbOKCancel + vbInformation中修改為vbOKCancel則不顯示這個驚嘆號:如下圖:

今日內容回向:

1 MsgBox 函數如何實現定製化的友好界面?

2 上面Buttons各個值都有什麼意義?

分享成果,隨喜正能量

相關焦點

  • VBA中,利用MSGbox函數實現人機對話
    在之前的文章中講過了VBA中人機對話函數中的INPUTBOX函數,今日將msgbox函數,同樣也是一個人機對話的函數,不過,這個函數不能解決錄入的問題,只能解決確認的問題,比如當程序運行到一定的程度,需要你判斷是否需要繼續進行;再比如,由於避免誤操作需要你再次判斷某個動作時,這時就會用到這個函數了。
  • Excel VBA輸出msgbox函數,這個輸出函數你知道多少
    大家好,前面示例中涉及過輸出msgbox函數,使用最簡單的形式,本節就將這個函數的內容擴充一下,學習其完整的結構,內容重在理解。一、msgbox 基礎語法msgbox有語句和函數兩種格式如下,其中[ ]中的內容可以省略。
  • 利用VBA代碼實現Msgbox函數定製化消息框
    大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容多是取至我的「VBA代碼解決方案」教程中內容。NO.155-NO.156內容是:NO.155:Msgbox函數實現定製化人機對話消息框NO.156:在關閉工作簿前使用MsgBox函數顯示一個消息框,並根據用戶的回應用進行相應的操作。
  • VBA代碼中Msgbox函數的美觀排版效果
    NO.157-NO.158內容是:NO.157:如何對MsgBox對話框的內容進行排版,達到美觀的效果NO.158:使用InputBox函數顯示一個對話框供用戶在對話框中輸入數據 VBA過程代碼157:如何對MsgBox對話框的內容進行排版,達到美觀的效果
  • 你的第一行VBA代碼
    今天帶你寫第一行vba代碼1.新建啟用宏的工作簿:打開excel軟體,將文件保存為啟用宏的工作簿:2. 點擊「文件」-》「選項」,把開發工具選項卡加到頂部選項卡:3.去除個人信息設置:將隱私選項中的保存個人信息勾選框取消勾選。
  • access使用MessageBox宏設置支持表達式的提示消息框
    程序運行過程中需要有相關的提示,才能保證客戶在使用中減少疑惑。比如提示是否確定刪除,提示刪除成功等,都需要必須的友好提示。在access vba代碼中,可以用msgbox函數 設置消息提示框。「msgbox "今天的日期是:" & now()"也可以用宏MessageBox 顯示警告或者提示消息。但是我們發現MessageBox宏不能在消息中直接添加函數,只能填寫提示信息。在自己一直測試中,發現了解決辦法。
  • VBA怎麼在窗體文本框或msgbox消息框中換行
    msgbox chr(9) & "這是第一行" & chr(13) & "這是第二行"'chr(9)相當於按編輯時TAB鍵縮進,chr(13)相當於回車msgbox vbTab & "這是第一行" & chr(10) &
  • 實用的VBA代碼講義:使用InputBox函數完成簡單的人機對話過程
    大家好,我們今日繼續講解VBA代碼,今日講解的是第43講,Excel的使用過程中,有時需要用戶輸入簡單的數據,此時可以使用InputBox函數顯示一個對話框,供用戶在對話框中輸入數據信息。b) title是可選的,作為顯示在對話框標題欄中的字符串表達式,如果省略title參數,則在標題欄中顯示「Microsoft Excel」。c) default是可選的,顯示在文本框中的字符串表達式,在沒有其它輸入時作為預設值,如果省略default參數,則文本框為空。d) xpos是可選的,指定對話框的左邊與屏幕左邊的水平距離。
  • VBA如何給滑鼠右鍵添加功能鍵,還不會,這個函數幫到你
    不過這也是一個比較麻煩的過程,首先學會如何自定義各個項目菜單。然後找到相關功能進行菜單布局設置。在此過程中基本上都放棄了。下面我們簡單介紹一下,如何用VBA代碼,給滑鼠右鍵添加一個自己定義函數或者過程。
  • VBA中,人機對話函數Inputbox的講解及利用實例
    為了實現數據輸入,VBA提供了InputBox函數。該函數將打開一個對話框作為輸入數據的界面,提示用戶輸入信息並等待用戶輸入數據,在得到用戶的認可後,返回所輸入的內容給程序(計算機)。如果需要在對話框中顯示多行數據,則可在各行之間用回車符換行符來分隔,一般使用VBA的常數vbCrLf代表回車換行符。這裡提示給各位讀者兩個函數:CH(13)和CH(10),其中Ch(13)返回的是回車,和按下回車鍵是一樣的就是vbCrLf;Ch(10)代表換行,這個符號在表示文本中添加空行非常有用。2 Title:為對話框標題欄中的字符串。
  • 教你如何以Vue.js插件的形式實現消息提示框
    在Vue-CLI 3腳手架項目中的src目錄下新建plugin文件夾,在該文件夾下新建MessageBox.vue,代碼如例1-1所示。按鈕時,從DOM中刪除提示框組件document.body.removeChild(vm.
  • MsgBox函數的講解及應用
    所謂函數,指的是一個Function過程,區別於簡單的過程,Function過程是有返回值的。 Excel VBA中的MsgBox函數可以返回結果,而簡單的MsgBox語句不能返回結果。 1 MsgBox函數 在對話框中顯示消息,等待用戶單擊按鈕,並返回一個整數,指示用戶單擊的那個按鈕.
  • 根據用戶對MsgBox對話框不同的選擇,計算機自動響應下一步操作
    我在講MsgBox函數的時候,是作為人機對話函數引入的,在MsgBox函數彈出對話框後,需要我們輸入我們的需求,這時計算機會根據我們的需求來進行下一步的操作。如果我們的需求是不同的,希望計算機能根據我們的需求,來決定下一步的操作。也就是說對於消息框的不同選擇,計算機要進行不同的操作。那麼能否實現呢?可以的,完全可以。
  • Excel VBA 代碼結構組成解剖,初學的你可知道
    在上一期我們說到如何去學習VBA,那麼我們今天就來說說Excel VBA代碼的結構構成部分。我們先簡單看一段代碼,如下圖所示:上方的代碼的意思是,從1+2+3+4+5一直加到1000,最後用VBA函數最後的顯示結果。
  • vba編程,如何找出計算機ID,磁碟空間信息,一個函數的事情
    NO.1vba編程中,有時候需要獲取計算機系統信息,比如計算機名稱、ID、磁碟容量、磁碟類型等等,那麼如何來實現這個功能呢?下面講一下,關於獲取本地信息的一個簡單方法。這裡我們會用到一些很重要的函數(GetObject),這些函數內置在Excel應用中,只要調用即可。其中還用到Win32_LogicalDisk class,也就是WMI下的一個類。
  • 如何編寫dll文件
    ";"對一行進行注釋(可選) ——2.實現文件(.cpp文件為例) ——實現入口表函數的.cpp文件中,包含DLL入口點處理的API函數和導出 函數的代碼。三.在應用程式中調用DLL文件 ——在應用程式中要首先裝入DLL後才能調用導出表中的函數,例如用MFC 創建基於對話框的工程Test,並在對話框上放置"Load"按鈕,你就必須添加裝載代碼。
  • 對話框窗口過程的另外一種實現方法
    蠍子在之前的一篇關於對話框返回值的文章中,有人建議說可以使用另外一種不同的搞法:也即直接調用DefDlgProc這個API函數(就類似於窗口消息過程中調用默認的消息處理函數DefWindowProc一樣,而不是直接返回TRUE或者FALSE。
  • MsgBox對話框
    大家可以非常容易的掌握相關的知識,這套教程面向初學人員,共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。第一節 MsgBox對話框MsgBox是Excel VBA中的一個對話框,可以用來通知用戶程序的進程及需要用戶判斷的一些信息。
  • 實戰經驗:MFC非模態對話框的使用
    問題在MFC編程中,我們經常會使用到模態對話框,模態對話框的一個典型特徵是當對話框彈出後,其父窗口將不接受任何UI響應,直到關閉當前的模態對話框後才能繼續。然而,非模態對話框就沒有這個限制,今天我們就來講講如何在MFC中使用非模態對話框。
  • 小技法:防止對話框中的編輯框內容自動被選中
    在默認情況下,當用戶在對話框界面按下Tab按鍵將輸入焦點切換到一個編輯框時,編輯框中的文本內容會被自動選中。為什麼會有這樣的行為呢?因為當焦點切換到編輯框時,編輯框窗口會收到WM_GETDLGCODE消息,如果我們在處理這個消息時候,將DLGC_HASSETSEL這個標誌去掉,則可以阻止這個默認行為。那麼,如何去掉這個標誌呢?