office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

能夠定時(shí)自動(dòng)關(guān)閉的Msgbox消息對(duì)話(huà)框

2017-09-21 08:40:00
zstmtony
原創(chuàng)
9854
在Access VBA或Excel VBA中如何自動(dòng)關(guān)閉彈齣的消息框(卽定時(shí)消失)
經(jīng)過(guò)研究和測(cè)試,可以通過(guò) API函數(shù)MessageBoxTimeout,可控製消息框自動(dòng)關(guān)閉

這箇API 函數(shù)就是 MessageBoxTimeOut函數(shù)(註意Windows 2000沒(méi)有這箇函數(shù),必鬚在Windows XP及以上操作繫統(tǒng)纔有):


API MessageBoxTimeOut函數(shù)原型如下:


Private Declare Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long, ByVal wlange As Long, ByVal dwTimeout As Long) As Long



蔘數(shù)説明:


    .蔘數(shù) hwnd, 整數(shù)型, , 窗口句柄  
    .蔘數(shù) lpText, 文本型, , 消息框內(nèi)容  
    .蔘數(shù) lpCaption, 文本型, , 消息框標(biāo)題  
    .蔘數(shù) uType, 整數(shù)型, , 消息框按鈕類(lèi)型,確認(rèn)按鈕、重試按鈕之類(lèi)  
    .蔘數(shù) wlange, 整數(shù)型, , 一般爲(wèi)0,語(yǔ)言ID  
    .蔘數(shù) dwTimeout, 整數(shù)型, , 延遲的時(shí)間 ,以毫秒爲(wèi)單位  


蔘數(shù)詳細(xì)具體説明:

‘Office交流網(wǎng)整理


hwnd:窗口句柄
lpText:彈齣消息框的內(nèi)容
lpCaption:彈齣消息框的標(biāo)題
uType:按鈕類(lèi)型,以下給齣常量,可相加,每組隻能取一箇類(lèi)型,第五組除外

第一組(描述對(duì)話(huà)框中顯示按鈕的類(lèi)型與數(shù)目):
0、#確認(rèn)鈕; 1、#確認(rèn)取消鈕; 2、#放棄重試忽略鈕; 3、#取消是否鈕;     4、#是否鈕; 5、#重試取消鈕
第二組(描述圖標(biāo)的樣式):
16、#錯(cuò)誤圖標(biāo); 32、#詢(xún)問(wèn)圖標(biāo); 48、#警告圖標(biāo); 64、#信息圖標(biāo)
第三組(説明哪一箇按鈕是缺省默認(rèn)值):
0、#默認(rèn)按鈕一; 256、#默認(rèn)按鈕二; 512、#默認(rèn)按鈕三; 768、#默認(rèn)按鈕四
第四組(決定如何等待消息框結(jié)束):
0、#程序等待; 4096、#繫統(tǒng)等待
第五組(其牠):
65536、#位於前颱; 524288、#文本右對(duì)齊

wLanguageId:語(yǔ)言ID,默認(rèn)寫(xiě)0就可以瞭
dwMilliseconds:等待時(shí)間,單位爲(wèi)毫秒,3秒後關(guān)閉就寫(xiě)3000

Tmtony測(cè)試後特彆説明:

1.蔘數(shù)説明:父窗口的句柄爲(wèi)NULL的情況下,將彈齣非模態(tài)對(duì)話(huà)框;延時(shí)關(guān)閉的時(shí)間爲(wèi)0的情況下,彈齣的MessageBox需要手動(dòng)關(guān)閉

2.這箇是微軟未文檔化的MessageBoxTimeout函數(shù),可以延時(shí)自動(dòng)關(guān)閉自身彈齣的MessageBox對(duì)話(huà)框,但微軟將來(lái)是否繼續(xù)支持,不得而知

3.需要指齣的是,Windows 2000的user32.dll沒(méi)有導(dǎo)齣這箇函數(shù)。

4. dwTimeout:等待時(shí)間,單位爲(wèi)毫秒,3 秒後關(guān)閉就寫(xiě) 3000

分享
文章分類(lèi)
聯(lián)繫我們
聯(lián)繫人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪(fǎng)問(wèn)