VBA MsgBox関数
MsgBox関数
VBA と VB2005 での メッセージボックスの違いについての簡単な覚え書き。※vb2005 のメッセージボックスの説明を VBA 主体に手直ししただけ … (^^ゞ
▲上へ
VBA / vb2005 MsgBoxの定数
vb2005の表へVBAのMsgBoxの定数を追加・正誤未確認■設定値※MsgBox()、MessageBox.Show()混在
※MSDNライブラリ(ローカルヘルプ)より抜粋 + 説明内に動作未確認の戻り値を追記
※2007.10.24 VBA の MsgBox関数について,vb2005の表へ追記して表示。動作確認はまだしていません。
※VBA の MsgBox関数では、MsgBox "text",… / x=MsgBox(…) と言った記述方法がある。
MsgBox ボタンの種類を定義する
※vb2005のために作った表へVBAのMsgBox定数を追加・修正・正誤未確認メンバ | 値 | 説明 |
※vb6.0・VBAの定数名はvbをメンバ名の前に付加します。例:vbOKOnlyなど (vb2005相当の定数) *付きのメンバ名は MessageBox.show() 使用時に MessageBoxButtons.OK などとして利用可。但し、OKCancel と OK では表示ボタンが異なるので注意 | ||
ボタンの数と種類(vb2005:MessageBoxButtons) | ||
(vba)vbOkOnly・値未確認 OKOnly | 0 | [OK]ボタンを表示:【OK=1】 |
(vba)vbOkCancel・値未確認 *OKCancel / *OK MsgBoxResult.OK | 1 | [OK] / [キャンセル]ボタン表示 :【OK=1】【Cancel=2】 MassageBox.Show()使用時の OK は、[OK]ボタンのみ表示です。 |
(vba)vbAbortRetryIgnore・未確認 *AbortRetryIgnore / Cancel MsgBoxResult.Cancel | 2 | [中止] / [再試行] / [無視]ボタンを表示 :【Abort=3】【Retry=4】【Ignore=5】 |
(vba)vbYesNoCancel・未確認 *YesNoCancel / Abort MsgBoxResult.Abort | 3 | [はい] / [いいえ] / [キャンセル]ボタンを表示:【Yes=6】【No=7】【Cancel=2】 |
(vba)vbYesNo・未確認 *YesNo / Retry MsgBoxResult.Retry | 4 | [はい] / [いいえ]ボタンを表示 :【Yes=6】【No=7】 |
(vba)vbRetryCancel・未確認 *RetryCancel / Ignore MsgBoxResult.Ignore | 5 | [再試行] / [キャンセル]ボタンを表示 :【Retry=4】【Cancel=2】 |
Yes MsgBoxResult.Yes | 6 | [はい]ボタンを表示 :【Yes=6】 |
No MsgBoxResult.No | 7 | [いいえ]ボタンを表示 :【No=7】 |
戻り値:(vba)vbOk,vbCancel,vbAbort,vbRetry,vbIgnore,vbYes,vbNo。戻り値はvb2005と同じ。 【OK=1】 / 【Cancel=2】 / 【Abort=3】 / 【Retry=4】 / 【Ignore=5】 / 【Yes=6】 / 【No=7】 |
▲上へ
MsgBox アイコンスタイル定義する
※vb2005のために作った表へVBAのMsgBox定数を追加・修正・正誤未確認メンバ | 値 | 説明 |
アイコンスタイルの定義(vb2005:MessageBoxIcon) *MessageBoxIcon列挙体共通、()内は列挙体専用、+は.NET Compact Framework によるサポート(詳細不明) | ||
(vba)vbCritical・未確認 Critical (Error,+Hand,Stop) | 16 | (X)警告メッセージアイコン表示 |
(vba)vbQuestion・未確認 *+Question | 32 | (?)問い合わせメッセージアイコン表示 |
(vba)vbExclamation・未確認 *+Exclamation (Warning) | 48 | (!)注意メッセージアイコン表示 |
(vba)vbInformation *Information (+Asterisk) | 64 | (i)情報メッセージアイコン表示 |
(+None) | - | アイコン記号を表示しない |
警告:Critical=(×) / 問合:Question=(?) / 注意:Exclamation=(!) / 情報:Information=(i) 使用例:x=msgbox("ファイルを削除しますか?",vbOKCancel + vbQuestion,"ファイルの削除") |
▲上へ
MsgBox 既定のボタンを定義する
※vb2005のために作った表へVBAのMsgBox定数を追加・修正・正誤未確認メンバ | 値 | 説明 |
既定のボタン(vb2005:MessageBoxDefaultButton) ()内は、MessageBoxDefaultButton 列挙体定数 | ||
DefaultButton1 (Button1) | 0 | 第1ボタン標準 |
DefaultButton2 (Button2) | 256 | 第2ボタン標準 |
DefaultButton3 (Button3) | 512 | 第3ボタン標準 |
使用例:x=MsgBox("File Read Error。再試行しますか?",vbAbortRetryIgnore + vbCritical + vbDefaultButton2,"読み込みエラー") |
▲上へ
MsgBox モーダル指定・その他
※vb2005のために作った表へVBAのMsgBox定数を追加・修正・正誤未確認※内容未チェック(他のもホトンド未チェックデスガ…特に意味不明が多いので…)
メンバ | 値 | 説明 |
モーダル指定 | ||
ApplicationModal | 0 | 操作応答までアプリ実行停止 |
SystemModal | 4096 | 操作応答まですべてのアプリ中断 |
前面表示・テキスト表示指定(vb2005:MessageBoxOptions) | ||
MsgBoxSetForeground | 65536 | 最前面表示します |
(vba)vbMsgBoxRight・未確認 MsgBoxRight | 524288 | テキストを右寄せ表示 |
MsgBoxRtlReading | 1048576 | ヘブライ語やアラビア語システムの右→左表記指定 |
▲上へ
VBA / VB2005 MsgBox関数の使い方
VBA MsgBox関数
'▼VBA '//値を取らない(戻値不要)MsgBox関数 MsgBox "message text" , _ vbQuestion + vbYesNo + vbDefaultButton2 , _ "Title" '//値を取る(要戻値)MsgBox関数は、引数をカッコで括ります。 x=MsgBox( _ "message text" , _ vbQuestion + vbYesNo + vbDefaultButton2 , _ "Title" )
VB2005 MsgBox() / MessageBox()
'▼VB2005 x=MsgBox(Prompt,Buttons,Title) ・・・と・・・ x=MessageBox.Show( Message, Caption, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions )※vb2005では新たにMessageBox.Showを使用することが推奨されている。しかし下位互換のMsgBoxも従来通りサポートされているので利用可能。
▲上へ
リンク
初めてでも分かるVBAの本
内部リンク
- VBA(VisualBasic for Applications)
- VB2005リファレンス(覚え書き)
外部リンク
- まだありません
▲上へ
2009年02月03日(火) 22:48:13 Modified by cafeboy1