標題:
[發問]
訊息方塊如何設定預設值
[打印本頁]
作者:
lichang
時間:
2015-7-26 00:15
標題:
訊息方塊如何設定預設值
各位大大好,小弟最近在練習訊息方塊,限定時間後消失功能
但請問如何設定時間內沒選擇,自動選取類似"中止"而不是關閉方塊功能!!
先謝謝各位大大的解答瞜!!
Option Explicit
Sub 111()
'Windows Script Host Object Model設定引用項目
Dim myWsh As IWshRuntimeLibrary.WshShell
Set myWsh = CreateObject("Wscript.Shell")
Debug.Print myWsh.PopUp(Text:="WSH測試", _
SecondsToWait:=2, Title:="WSHPopUp", Type:=2)
Set myWsh = Nothing '釋放物件
End Sub
作者:
azrael19
時間:
2015-7-26 09:15
各位大大好,小弟最近在練習訊息方塊,限定時間後消失功能
但請問如何設定時間內沒選擇,自動選取類似"中止 ...
lichang 發表於 2015-7-26 00:15
不管有沒有選取,訊息方塊功能都會關閉,你可以針對訊息方塊的回傳值來加上對應的處理程序...
參考說明:
https://technet.microsoft.com/en-us/library/ee156593.aspx
範例:
Option Explicit
Sub Ex()
'Windows Script Host Object Model設定引用項目
Dim myWsh As IWshRuntimeLibrary.WshShell
Dim intClicked As Integer
Dim intDefaultButton As Integer: intDefaultButton = vbDefaultButton1
Set myWsh = CreateObject("Wscript.Shell")
intClicked = myWsh.PopUp(Text:="WSH測試", _
SecondsToWait:=2, Title:="WSHPopUp", Type:=vbAbortRetryIgnore + intDefaultButton)
Debug.Print intClicked
If -1 = intClicked Then ' 回傳值 (-1) = 設定時間內沒選擇
If vbDefaultButton1 = intDefaultButton Then
intClicked = vbAbort
ElseIf vbDefaultButton2 = intDefaultButton Then
intClicked = vbRetry
ElseIf vbDefaultButton3 = intDefaultButton Then
intClicked = vbIgnore
End If
End If
Select Case intClicked
Case vbAbort
'加上 [中止] 對應處理程序
Case vbRetry
'加上 [重試] 對應處理程序
Case vbIgnore
' ...
Case Else
' ...
End Select
Set myWsh = Nothing '釋放物件
End Sub
複製代碼
作者:
lichang
時間:
2015-7-26 15:29
大大,請問一下,為什麼我使用您的代碼直接複製,他會跟我說
Dim myWsh As IWshRuntimeLibrary.WshShell
"使用者自訂型態尚未定義"
作者:
azrael19
時間:
2015-7-26 15:48
回復
3#
lichang
你給的範例程式中註解有說明('Windows Script Host Object Model設定引用項目)
在[工具] [設定引用項目] 要 勾選 Windows Script Host Object Model,如下圖:
[attach]21494[/attach]
作者:
lichang
時間:
2015-7-26 15:53
回復
4#
azrael19
喔......我了解了,對不起,我疏忽了!!謝謝你的解答!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)