マクロ講座MsgBoxを自動的に閉じたい
マクロ 78回メッセージボックスを自動に閉じる
MsgBoxが勝手に閉じてくれれば便利なのだけど
マクロを勉強したのは、少しでも効率アップにつなげたいからで、まさかマクロ実行中にマウスを持ってメッセージボックスのポップアップウィンドウを閉じる必要があるとは?
マクロが使えるようになると、かなり便利になりますが、どうしてもメッセージボックスを表示させたいということもあります。
今回はメッセージボックスを表示させたいけれども、そのためにわざわざマウスを持ってクリックするのは嫌だという方のためのコードです。
MsgBox自動的に閉じるようにしたい
1. メッセージボックスを自動に閉じるにはWindows script host(wsh)のPOPUPメゾットを使うと可能になります。
Windows script host(wsh)とは、windows OSに搭載された、ある決まった一連の手続きをテキストファイルに記述したものです。
MsgBoxの代わりにWSHのPOPUPメゾットを使います。
VBAでWSHのPOPUPメゾットを使うには、事前に参照設定をしておく必要があります。
2. VBEのメニュー、ツールから参照設定をクリックします。Windows Script Host Object Modelを見つけてチェックをいれてください。
3.Pppupメソッドの書式と引数は以下のようになります。
4.自動的に閉じるコードは次のように記述しました。
Sub AutoClose() 'メッセージを5秒後に閉じる Dim WSH As Object Set WSH = CreateObject("WScript.Shell") WSH.Popup "5秒後に自動に閉じます", 5, _ "メッセージを表示", vbInformation Set WSH = Nothing End Sub
6. 実行すると、メッセージが表示され、5秒後に閉じました。