2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« ショートカットに相対パスを指定する。 | トップページ | VBAやHTAでn秒後に自動的に閉じるメッセージボックス(その2) »

2008年1月11日 (金)

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) »