Home » WSH・Windows Script Hostの使い方 » 自動的に閉じるメッセージボックス

対象:Excel2007, Excel2010, Excel2013

「自動的に閉じるメッセージボックス」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBA(Visual Basic for Applications)ではMsgBox関数を使って、メッセージボックスを表示することができます。

そのメッセージボックスを自動的に閉じる方法を探している方による検索です。

残念ながらVBAのMsgBox関数で表示されるメッセージボックスは、自動的に閉じることができません。

[スポンサードリンク]

自動的に閉じるメッセージボックスを表示するサンプルマクロ

自動的に閉じるメッセージボックスを利用するには、WSH(Windows Scripting Host)のWshShell.Popupメソッドを利用するのが簡単です。

Sub 自動的に閉じるメッセージボックス()

 Dim wsh As Object 'IWshRuntimeLibrary.WshShell

 Set wsh = CreateObject("Wscript.Shell")

 wsh.Popup _
  Text:="3秒後に自動的に閉じます。", _
  SecondsToWait:=3, _
  Type:=vbOKOnly

 Set wsh = Nothing

End Sub

上記のマクロを実行すると、
「3秒後に自動的に閉じます。」
と記述されたメッセージボックスが表示され、3秒後に自動的に閉じます。

WshShellオブジェクトをCreateObjectしてから、
 Dim wsh As Object
 Set wsh = CreateObject("Wscript.Shell")

自動的に閉じるメッセージボックス

WshShellオブジェクトPopupメソッドを利用しています。

WshShell.Popupの引数

WshShell.Popupメソッドはオブジェクトブラウザーで確認すると下図のとおり、

自動的に閉じるメッセージボックス

・Text
・SecondToWait
・Title
・Type
という4つの引数を指定できます。

引数の名前からわかるとおりSecondToWaitに、何秒後に自動的に閉じるかを指定します。

ちなみに、VBAのMsgBox関数は、

自動的に閉じるメッセージボックス

・Prompt
・Buttons
・Title
・HelpFile
・Context
という名前の付けられた5つの引数を指定できます。

同じような意味の引数でも、引数名が一部異なっているので、名前付き引数を利用するときは注意が必要です。

VBA.MsgBoxのPromptが、WshShell.PopupではText
VBA.MsgBoxのButtonsが、WshShell.PopupではType
と異なっています。

ボタンの種類などを指定する引数・Typeには、VBA.MsgBoxのButtonsと同じく、vbYesNoなどの定数で指定することができます。

名前付き引数を使わないで標準引数で指定する場合も、VBA.MsgBoxとWshShell.Popupでは順番が異なりますから要注意です。

WshShell.Popupの戻り値

WshShellのPopupメソッドの戻り値は、基本的にVBAのMsgBox関数と同じです。

自動的に閉じられた場合には「-1」を返してきます。

Windows Script Host Object Modelを参照設定している場合

上記のマクロは参照設定していないことを前提にCreateObjectしていますが、Windows Script Host Object Modelを参照設定している場合は、

自動的に閉じるメッセージボックス

CreateObject関数を使わずに、
 Sub 自動的に閉じるメッセージボックス()
  Dim wsh As New IWshRuntimeLibrary.WshShell
  wsh.Popup _
   Text:="3秒後に自動的に閉じます。", _
   SecondsToWait:=3
  Set wsh = Nothing
 End Sub
とすることもできます。

[スポンサードリンク]

Home » WSH・Windows Script Hostの使い方 » 自動的に閉じるメッセージボックス

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » WSH・Windows Script Hostの使い方 » 自動的に閉じるメッセージボックス

「WSH・Windows Script Hostの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.