Popup

ポップアップメッセージを表示します。

押されたボタンの値が戻値として返るので、SELECT-SELENDで処理を分岐することができます。

構文
intButton = WshShell.Popup( strText, [nSecondsToWait], [strTitle], [nType] )
引数
strText
ポップアップウィンドウに表示するテキスト
nSecondsToWait
ポップアップ ウィンドウを閉じるまで待機する秒数
strTitle
ポップアップウィンドウのタイトルに表示するテキスト
nType
ポップアップ メッセージ ボックスに表示するボタンとアイコンの種類を示す数値
戻値
メッセージボックス終了時にクリックするボタンの番号を示す整数値。1:[OK]ボタン、2:[キャンセル]ボタン、3:[中止]ボタン、4:[再試行]ボタン、5:[無視]ボタン、6:[はい]ボタン、7:[いいえ]ボタン、-1:制限時間経過。

nTypeに指定できる値一覧

指定するボタン・アイコン・デフォルトボタンの合計値を指定する。

例えば、OK・キャンセルのボタン(1)、注意(48)のアイコン、左から1番目(0)をデフォルトの場合は、1 + 48 + 0なので「49」を指定します。 値だと何が指定されているのかわからなくなるので「vbOKCancel + vbExclamation + vbDefaultButton1」というような項目毎に書く書き方もできます。これらの定数はUWSCで定義されていないのでCONSTで定義してから使用します。

ボタンの種類

名前 説明
vbOKOnly 0 OK
vbOKCancel 1 OK、キャンセル
vbAbortRetryIgnore 2 中止、再試行、無視
vbYesNoCancel 3 はい、いいえ、キャンセル
vbYesNo 4 はい、いいえ
vbRetryCancel 5 再試行、キャンセル

アイコンの種類

アイコンを表示しない場合は0を指定または省略。

名前 説明
vbCritical 16 警告警告
vbQuestion 32 問い合わせ問い合わせ
vbExclamation 48 注意注意
vbInfomation 64 情報情報

デフォルトボタン

どのボタンをデフォルトボタンにするかを指定します。デフォルトボタンとはダイアログ表示時にフォーカスがある状態のボタンのことです。

名前 説明
vbDefaultButton1 0 左から1番目のボタン
vbDefaultButton2 256 左から2番目のボタン
vbDefaultButton3 512 左から3番目のボタン
vbDefaultButton4 768 左から4番目のボタン

デフォルトボタンの位置は間違って押されても大丈夫なようなボタンに設定するようにします。例えば「保存しますか?」で[はい]と[いいえ]のボタンがあるときは、[はい]をデフォルトボタンにすることで意図せずにEnterを押したときにも保存せずに閉じることを防ぐことができます。

このときに[いいえ]をデフォルトボタンにしていると、間違ってEnterを押したときに保存しないまま閉じるという事態が発生してしまいます。

プログラム実行例

ポップアップウィンドウを表示

CONST vbAbortRetryIgnore = 2
CONST vbExclamation = 48
CONST vbDefaultButton2 = 256

DIM WshShell = CREATEOLEOBJ("WScript.Shell")

SELECT WshShell.Popup("エラーが発生しました。", 3, , vbAbortRetryIgnore + vbExclamation + vbDefaultButton2)
	// 中止
	CASE 3
		MSGBOX("中止")
	// 再試行
	CASE 4
		MSGBOX("再試行")
	// 無視
	CASE 5
		MSGBOX("無視")
SELEND
  1. CREATEOLEOBJ
  2. WshShell.Popup
結果