EXCEL VBA WSH .Popupメソッドの使い方(メッセージボックスを自動に閉じる・時間経過で閉じる)

 

 

EXCEL VBA WSH.Popupメソッドの使い方(メッセージボックスを自動に閉じる・時間経過で閉じる)

 

 

 ●はじめに

今回は、Wsh.Popupメゾットの使い方を説明します。Wsh.Popupメゾットは、メッセージボックスを自動的に閉じる事ができる機能です。EXCEL VBAでは、メッセージボックス(Msgbox)の機能では、自動に閉じる機能はありません。実際に、Wsh.Popupメゾットを利用する場合、Windows Script Host(Wsh)の機能を有効にする事で、メッセージボックスを自動(秒指定)で閉じる事ができます。それでは、下記のサンプルプログラムを交えて説明いたします。

なお、Wsh.Popupの利用方法については、下記を参照してください。

●EXCEL VBAでPOPUPメゾットを利用する上で必ず下記の設定が必要になります。

 

 

 ●書式の説明  WSHのPOPUPメゾット

● Wsh.Popup(strText,[nSecondsToWait],[strTitle],[nType])
   
引数名説明
strTextメッセージボックスに表示する文字列を指定します(必須)
nSecondsToWaitメッセージボックスを閉じるまでの時間(秒単位)
strTitleメッセージボックスの上部タイトル名を指定します。(省略可能)
nTypeボダンの設定(Yes/No等)及びアイコンの設定(省略可能)

   
【注意点①:参照設定】
   
●EXCEL VBAでPOPUPメゾットを利用する上で必ず下記の設定が必要になります。
【使用例】
● Wsh.Popup(strText,[nSecondsToWait],[strTitle],[nType])・ WSH.Popup “3秒後、自動に閉じます”, 3, “メッセージが表示”, vbExclamation
【nTypeの設定については、下記の定数で設定する事ができます。】
定数アイコン画像説明
vbCritical16警告メッセージのアイコンを表示します。
vbQuestion32問い合わせメッセージアイコンを表示します。
vbExclamation48注意メッセージアイコンを表示します。
vbinformation64情報メッセージアイコンを表示します。
定数表示されるボタンと種類の内容実行画面
vbOkonly0「OK」ボタンのみ表示
vbOkCancel1「OK」・「キャンセル」を表示
vbAbortRetryIgnore2「中止」・「再試行」・「無視」を表示
vbYesNoCancel3「はい」・「いいえ」・「キャンセル」を表示
vbYesNo4「はい」・「いいえ」を表示
vbRetryCancel5「再試行」・「キャンセル」を表示
【戻り値については、下記の通りになります。】
※戻り値は、数値でも文字列でも一緒です。例:「はい」の戻り値:6 = vbYes  同じ戻り値です。
定数内容説明戻り値
vbOK「OK」ボタンを押すと1
vbCancel「キャンセル」ボタンを押すと2
vbAbort「中止」ボタンを押すと3
vbRetry「再試行」ボタンを押すと4
vbIgnore「無視」ボタンを押すと5
vbYes「はい」ボタンを押すと6
vbNo「いいえ」ボタンを押すと7
   
【POPUPメゾットは、メッセージボックスと同じ方法で設定が出来ますので、メッセージボックスの基礎も参照して下さい】

EXCEL VBA Msgboxの使い方 (メッセージボックス・基礎編)

 

 

 

メッセージボックスのメッセージを自動的に閉じます。(指定秒数で閉じる)

 

 

 ●プログラム説明 サンプル① 【Wsh.Popupメゾット】
下記のサンプルプログラムは、メッセージボックスのメッセージを自動的に閉じるサンプルプログラムです。以下のプログラム全てに共通しますが、プログラムを実行する際は、必ず事前に【Windows Script Host Object Model】の参照設定する必要が有ります。
※詳細は、上記【参照設定】を参照して下さい。
【実行手順】
・メッセージボックスを約3秒間表示して閉じます。

 

 

 

●実行前~実行後 ※プログラム実行後、メッセージが表示されて約3秒後、自動的にメッセージが閉じました。
(画面クリックして拡大)

 

 

 

 

メッセージボックス(アイコン付き)のメッセージを自動的に閉じます。(指定秒数で閉じる)

 

 

●プログラム説明 サンプル② 【Wsh.Popupメゾット】

下記のサンプルプログラムは、メッセージボックス(アイコン付き)のメッセージを連続的に表示させて自動的に閉じるサンプルプログラムです。以下のプログラム全てに共通しますが、プログラムを実行する際は、必ず事前に【Windows Script Host Object Model】の参照設定する必要が有ります。

※詳細は、上記【参照設定】を参照して下さい。

【実行手順】
①メッセージボックス+警告アイコンを約1秒間表示して閉じます。
②メッセージボックス+問い合わせアイコンを約1秒間表示して閉じます。
③メッセージボックス+注意アイコンを約1秒間表示して閉じます。
④メッセージボックス+情報アイコン約1秒間表示して閉じます。

 

 

 

 ●実行前~実行後 ※プログラム実行後、メッセージボックス+アイコン4種類を順番に表示して、約1秒後に閉じました。
(画面クリックして拡大)

 

 

メッセージボックス(ボタン付き)のメッセージを自動的に閉じます。(指定秒数で閉じる)

 

 

●プログラム説明 サンプル③ 【Wsh.Popupメゾット】

下記のサンプルプログラムは、メッセージボックス(ボタン付き)のメッセージを連続的に表示させて自動的に閉じるサンプルプログラムです。以下のプログラム全てに共通しますが、プログラムを実行する際は、必ず事前に【Windows Script Host Object Model】の参照設定する必要が有ります。

※詳細は、上記【参照設定】を参照して下さい。

【実行手順】
①メッセージボックス+【OK】ボタンを約1秒間表示して閉じます。
②メッセージボックス+【OK・キャンセル】を約1秒間表示して閉じます。
③メッセージボックス+【はい・いいえ】を約1秒間表示して閉じます。
④メッセージボックス+【中止・再試行・無視】を約1秒間表示して閉じます。
⑤メッセージボックス+【はい・いいえ・キャンセル】を約1秒間表示して閉じます。
⑥メッセージボックス+【再試行・キャンセル】を約1秒間表示して閉じます。

 

 

 

 

  ●実行前~実行後 ※※プログラム実行後、メッセージボックス+6種類のボタン(表示)を順番に表示して、約1秒後に閉じました。
(画面クリックして拡大)

 

 

 

メッセージボックスを表示させて指定時間内に【はい・いええ】の判断させる

 

 

●プログラム説明 サンプル④ 【Wsh.Popupメゾット】

下記のサンプルプログラムは、メッセージボックスを表示させて指定時間(約5秒)以内にメッセージボックス閉じるので【はい・いいえ】の判断させるサンプルプログラムです。
以下のプログラム全てに共通しますが、プログラムを実行する際は、必ず事前に【Windows Script Host Object Model】の参照設定する必要が有ります。

※詳細は、上記【参照設定】を参照して下さい。

 

【実行手順】
①メッセージボックが表示されて、【5秒以内に「Yes」】
②メッセージボックスの表示で【はい】を選択した場合、【はい】を選択したメッセージボックスを表示させる。(約1秒以内に閉じる)
③メッセージボックスの表示で【いいえ】を選択した場合、【いいえ】を選択したメッセージボックスを表示させる。(約1秒以内に閉じる)

 

 

 

 

  ●実行前~実行後 ※プログラム実行後、メッセージボックスを表示さますので、指定時間(約5秒)以内にメッセージボックス閉じるので【はい・いいえ】の判断します。【はい】か【いいえ】を選ぶと押したボタンのメッセージが表示(約1秒)されます。
(画面クリックして拡大)

 

 

 

メッセージボックスを表示させて指定時間内にアンケートを回答させる。

 

 

●プログラム説明 サンプル⑤ 【Wsh.Popupメゾット】

下記のサンプルプログラムは、順番にメッセージボックス(ボタン付き)をアンケート方式で表示させて、メッセージの回答を5秒以内に回答させるサンプルプログラムです。アンケートの回答結果は、EXCELシートに一覧表示されます。

以下のプログラム全てに共通しますが、プログラムを実行する際は、必ず事前に【Windows Script Host Object Model】の参照設定する必要が有ります。

※詳細は、上記【参照設定】を参照して下さい。


【実行手順】
①メッセージボックスにアンケート内容(質問内容)が表示されるので、設問1~5まで、順番に「はい・いいえ」で回答します。
②アンケートを回答した結果をEXCELシートのC列に「はい・いいえ」で登録されます。(約5秒以内に回答する)
※アンケートの回答に約5秒過ぎてしまった場合は、【空白】

 

 

 

 

  ●実行前~実行後 ※プログラム実行後、順番にアンケート内容がメッセージボックスに表示されますので、「はい・いいえ」で回答します。アンケート内容に回答した結果は、C列の【回答】に「はい・いいえ」で登録されます。
(画面クリックして拡大)

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。