MsgBox関数 2
こんにちは
引き続きMsgBoxの説明です。
MsgBoxでYes,Noを設定してもその後の処理がないと意味がないですよね。
というわけで結果を取得するようなプログラムを作成してみましょう。
そもそもMsgBoxの結果ってどうやって取得するの?
ここ重要ですよね。
MsgBoxでYes,No等を選択すると値を返します。
その値からMsgBoxで何を選択したのかを判断します。
どんな値を返すのかは以下の表にまとめました。
サンプルプログラム
ではサンプルを見てみましょう。
Sub test() Dim 入力結果 As Long 入力結果 = MsgBox("OKかCancelを押してください", vbOKCancel) If 入力結果 = vbOK Then MsgBox "OKが押されました" Else MsgBox "Cancelが押されました" End If End Sub |
これはただ単にMsgBoxでOK,Cancleボタンを押した結果を変数:入力結果に代入して、If文で判定するだけですね。
アイコンと各ボタンを追加する
前回説明忘れてました。
ボタンの追加とアイコンの追加、最初のボタンの選択状態を変更するプログラムを作成してみます。
Sub test() Dim 入力結果 As Long 入力結果 = MsgBox("OKかCancelを押してください", vbOKCancel + vbInformation + vbDefaultButton2) If 入力結果 = vbOK Then MsgBox "OKが押されました" Else MsgBox "Cancelが押されました" End If End Sub |
vbOKCancel + vbInformation + vbDefaultButton2
これはOK,Cancelのボタン追加+アイコンをインフォメーションに変更+2番目のボタンをアクティブに変更
という命令が書かれています。
その結果が下の状態ですね。
こんな感じです。
使いこなせるとカッコいいと思います。(語彙力