標題:
強制 msgbox 出現在前景視窗 ?
[打印本頁]
作者:
stillfish00
時間:
2013-5-6 14:21
標題:
強制 msgbox 出現在前景視窗 ?
最近遇到個問題是VBA程式執行中,如果切換到其他非Excel視窗(如PowerPoint、Notepad),彈出的 msgbox 訊息就不會出現在前景,Excel 這時會閃爍,除非你再點一次 Excel 你的訊息視窗才會出現。
有沒有辦法強制它出現不用再點一次 Excel 呢? 我測試了 vbMsgBoxSetForeground 和 vbSystemModal 好像都沒效?
Sub Test()
Application.Wait Now + TimeValue("00:00:05") '等五秒,此時你手動切換到其他軟體視窗
MsgBox "Finish!", vbMsgBoxSetForeground + vbSystemModal
End Sub
作者:
stillfish00
時間:
2013-5-7 20:52
回復
1#
stillfish00
問題已解決,自己回答
後來採用以下方法,利用AppActivate 重新 Focus EXCEL 就可以了
Sub Test()
Application.Wait Now + TimeValue("00:00:05") '等五秒,此時你手動切換到其他軟體視窗
AppActivate Application '或 AppActivate Application.Caption
MsgBox "Finish!"
End Sub
作者:
PKKO
時間:
2016-9-18 19:37
回復
2#
stillfish00
最近在尋找此方法,沒想到S大居然也有相同問題,並且解決了
小弟無法用AppActivate Application
但可以用AppActivate Application.Caption
真是太感激了
想順便再詢問延伸問題
有辦法自動關閉MSGBOX 嗎?
因為程式只要執行到那邊就會自動停止任何動作
主要應用到某網站上面,點選了上傳檔案的位置,就會跳出視窗請我選擇檔案
但該視窗一但出現就跟msgbox 一樣,完全無法動作
且無法直接透過網頁元素輸入,她的value值是:c:\fakepath\XXX
中間的值都會變成fakepath
且我強迫將她的value="C:\aaa.txt" 也完全無反應
只有將該視窗關閉之後才可動作(跟msgbox 相同)
因為該網站是會員登入制,所以無法提供
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)