在我們的印象中,不管是excel自帶的彈窗,還是我們自己通過代碼寫出來的彈窗都是需要操作才會消失的 比方說這樣的,你不點擊按鈕,這個彈窗會一直存在 而在我們自己寫的VBA代碼中,彈窗都是附帶著返回值的,如果不做出選擇,彈窗就會一直存在,同時我們的程序也會一致卡在哪里 比方說我們之前做的這個運算的彈窗 但是有時候,我們僅僅是希望彈窗彈出來一下,告知我們當前程序運行得狀態(tài)就好,然后會自動消失,并不需要做出任何選擇,程序也會在彈窗消失之后自動運行,這樣的彈窗可以實現(xiàn)嗎? 場景模擬 假設(shè)我們當前的代碼正在進行一個比較復雜的運算,并且關(guān)閉了屏幕刷新,對于使用者來說,當電腦屏幕上看,并不知道程序運行到那個步驟了,如果耐心不好的,可能會因為電腦死機或者程序壞了,這個時候我們就需要一個彈窗告訴使用者程序已經(jīng)運行到哪里了,并且僅僅是彈窗,并不需要使用者做任何得操作,是不是更加得人性化呢,來上代碼
Sub msg() Dim WshShell As Object Set WshShell = CreateObject("Wscript.Shell") WshShell.popup "腳本當前正在進行計算,請耐心等待!", 2, "提示", 64 Set WshShell = Nothing MsgBox "我是第二個彈窗,你要點我我才會操作!" MsgBox "我是第三個彈窗,你點擊了第二個我才會出現(xiàn)的!" End Sub 來看看效果 當腳本運行的時候,會有這樣的一個彈窗出現(xiàn),告知使用者程序的進度,使用者可以不做任何操作,我們設(shè)置彈窗2秒之后自動消失 這是第二個彈窗,這個彈窗和我們之前接觸到得彈窗一樣,當出現(xiàn)這樣得彈窗得時候,程序后臺就也暫停執(zhí)行,等待你點擊的返回結(jié)果,在執(zhí)行相應的操作,如果這個時候你正好離開座位,不好意思,這個彈窗會一致存在,程序也一直卡在這個地方 只有當你點擊了確定之后,這個彈窗后面的代碼,也就是第三個彈窗才會出現(xiàn)
Set WshShell = CreateObject("Wscript.Shell") WshShell.popup "腳本當前正在進行計算,請耐心等待!", 2, "提示", 64 今天的代碼關(guān)鍵點,就在這里,這個就是實現(xiàn)窗口彈窗之后,會到時候消失的代碼, 其實代碼也沒有什么難點,大家記下來直接套用即可 消失的時候,就是第二參數(shù),想要多少秒消失,大家可以根據(jù)自己的需要來靈活設(shè)定~~ 如何你覺得我的內(nèi)容對你有幫助,那就加個關(guān)注吧~~ |
|