vba 自動換行 VBA中msgbox的用法小結

2021-10-12 07:56:13 字數 3402 閱讀 3567

在訊息框中顯示資訊,並等待使用者單擊按鈕,可返回單擊的按鈕值(比如「確定」或者「取消」)。通常用作顯示變數值的一種方式。

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

引數說明:

(1)prompt,必需的引數,為字串,作為顯示在訊息框中的訊息文字。其最大長度約為1024個字元,由所用字元的寬度決定。如果prompt的內容超過一行,則可以在每一行之間用回車符(chr(13))、換行符(chr(10))或是回車與換行符的組合(chr(13)&chr(10))將各行分隔開來。

(2)buttons,可選的引數,為數值表示式的值之和,指定顯示的按鈕的數目及形式、使用的圖示樣式、預設按鈕及訊息框的強制回應等,可以此定製訊息框。若省略該引數,則其預設值為0。設定值見下表。

(3)title,可選的引數,表示在訊息框的標題欄中所顯示的文字。若省略該引數,則將應用程式名放在標題欄中。

用於msgbox函式中button引數的常量

常量 值 說明

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第四個按鈕是預設值

作出響應才繼續工作

vbsystemmodal 4096系統強制返回;全部應用程式都被掛起,直到使用者對訊息框作

出響應才繼續工作

vbmsgboxhelpbutton 16384將help按鈕新增到訊息框

vbmsgboxsetforeground 65536指定訊息框視窗作為前景視窗

vbmsgboxright 524288文字為右對齊

vbmsgboxrtlreading 1048576指定文字應為在希伯來和阿拉伯語系統中的從右到左顯示

說明:(1)第一組值(0–5)描述了訊息框中顯示的按鈕的型別與數目;第二組值(16,32,48,64)描述了圖示的樣式;第三組值(0,256,512,768)說明哪乙個按鈕是預設值;而第四組值(0,4096)則決定訊息框的強制返回性。將這些數字相加以生成buttons引數值的時候,只能由每組值取用乙個數字。

(2)這些常數都是vba指定的,可以在程式**中使用這些常數名稱代替實際數值。

用於msgbox函式返回值的常量

常數 值 說明

vbok 1 確定

vbcancel 2 取消

vbabort 3 終止

vbretry 4 重試

vbignore 5 忽略

vbyes 6 是

vbno 7 否

(1) 如果同時提供了helpfile與context引數,可以按f1鍵來檢視與context相應的幫助主題,excel通常會在輸入框中自動新增乙個幫助(help)按鈕。

(2)若在訊息框中顯示「取消」按鈕,則按下esc鍵與單擊「取消」按鈕效果相同。若訊息框中有「幫助」按鈕,則提供相關的幫助資訊。

(3)如果要輸入多個引數並省略中間的某些引數,則必須在相應位置加入逗號分界符。

(1)使用 msgbox 函式,在具有「是」及「否」按鈕的對話方塊中顯示一條嚴重錯誤資訊。示例中的預設按鈕為「否」,msgbox函式的返回值視使用者按哪乙個鈕而定。並假設demo.hlp為一幫助檔案,其中有乙個幫助主題**為1000。

dim msg,style,title,help,ctxt,response,mystring

msg="do you want to continue ?" 』定義訊息文字

style = vbyesno + vbcritical + vbdefaultbutton2 ' 定義按鈕

title = "msgbox demonstration" ' 定義標題文字

help = "demo.hlp" ' 定義幫助檔案

ctxt = 1000 ' 定義幫助主題

response = msgbox(msg, style, title, help, ctxt)

if response = vbyes then ' 使用者按下「是」

mystring = "yes" ' 完成某操作

else ' 使用者按下「否」

mystring = "no" ' 完成某操作

end if

(2)只顯示某訊息

msgbox 「hello!」

(3)將訊息框返回的結果賦值給變數

ans=msgbox(「continue?」,vbyesno)

if msgbox(「continue?」,vbyesno)<>vbyes then exit sub

(4)使用常量的組合,賦值組config變數,並設定第二個按鈕為預設按鈕

config=vbyesno+vbquestion+vbdefaultbutton2

(5)若要在訊息中強制換行,可在文字中使用vbcrlf(或vbnewline)常量,用&加空格與字元隔開。如

msgbox 「this is the first line.」 & vbnewline & 「second line.」

(6)可以在訊息框中使用vbtab常量插入乙個製表符。下面的過程使用乙個訊息框來顯示5×5單元格區域中的所有值,用vbtab常量分隔列並使用vbcrlf常量插入乙個新行。注意在msgbox函式最多隻顯示1024個字元,因此限制了可顯示的單元格數。

option explicit

sub showrangevalue()

dim msg as string

dim r as integer, c as integer

msg = ""

for r = 1 to 5

for c = 1 to 5

msg = msg & cells(r, c) & vbtab

next c

msg = msg & vbcrlf

next r

msgbox msg

end sub

(7)在訊息框語句中運用工作表函式以及設定顯示的數置格式,如下面語句所示:

VBA研究 VBA中編寫延時函式

1 一般延時 乙個應用介面需要限制執行速度,需要在迴圈中加個延時函式,這個延時不需要多麼精確,要求有個幾秒延時,網上用的比較多的就是用timer函式編寫,timer是vba自帶的函式,用起來比較方便,一般程式如下 延時程式 sub delay t as single dim time1 as sin...

vba中dir用法 vba中dir函式使用心得

dir pathname attributes 構建測試環境如下 一 測試在dir函式中使用萬用字元來查詢多個檔案,在vbe中輸入 如下 sub listfiles dim strpath as string,strtmp as string strpath c test strtmp dir st...

VBA實現表單自動編號

效果 每次提交或重新整理標段,表單案指定格式實現自動編號。如當天日期加數字編號的格式 即 2019年2月3日產生的第一張表單產生的編號格式為20190203 001 以此類推第二張表單編號為20190203 002 如果日期發生變化,那麼日期後面的編號也從1開始。如2019年2月4日那麼,他的編號2...