VBAでn秒後に自動的に閉じるメッセージボックス
WScript.ShellのPopUp()の秒指定は、Excelなどでは使えません。:-(
そこで、user32.dllのMessageBoxTimeoutA()を利用した代替方法です。
Private Declare Function MessageBoxTimeoutA Lib "user32" ( _
ByVal hWnd As Long, ByVal lpText As String _
, ByVal lpCaption As String, ByVal uType As Long _
, ByVal wLanguageId As Long, ByVal dwMilliseconds As Long _
) As Long
Sub hoge()
MessageBoxTimeoutA 0&, "5秒後に閉じます。", "タイトル", vbMsgBoxSetForeground, 0, 5000
End Sub
Undocumentedです。XP(SP2)では使えますが、他は知りません。どうも、XP以降らしい。
« ショートカットに相対パスを指定する。 | トップページ | VBAやHTAでn秒後に自動的に閉じるメッセージボックス(その2) »