メッセージボックスを使いこなす【yes/no】

ロゴ



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

メッセージボックスを使いこなす【yes/no】

メッセージボックスはよく使うものですが、メッセージボックスの使い方で初心者と中級者を分けるのがメッセージボックスでyes/noで条件を分岐できるかです。

メッセージボックスの表示

メッセージボックスを使用する場合は【MsgBox関数】を使用します、このMsgBox関数を使用すると

このようにOKボタンしかない表示されないメッセージボックスが表示されます。

メッセージボックスで条件分岐する方法

さて今回の本題である条件分岐の方法です。

まず一番の違いはMsgboxを変数として扱う事です。

そして【vbYesNo】、メッセージボックスの最後にこの【vbYesNo】を追加することによって【はい、いいえ】が表示することができます。

そして続いてどちらのボタンが押されたのかを判定する必要があります。そのコードがこちらのIF文です。

このコードはいたって単純で、変数resのvbyesを押されたら、vbNoが押されたらというIF文です。
※ボタンからの帰り値は数値で返されますので変数の型はLongやvariantのような数値を扱える型を宣言してください。

メッセージボックス関数に用意されている定数

今回はvbYesNoは【はい、いいえ】を表示する定数でしたが、他にもたくさんの定数があります、一覧で紹介いたします。

vbOKOnly[OK] ボタンのみを表示します。
vbOKCancel[OK] ボタンと [キャンセル] ボタンを表示します。
vbAbortRetryIgnore[中止]、[再試行]、および [無視] の 3 つのボタンを表示します。
vbYesNoCancel[はい]、[いいえ]、および [キャンセル] の 3 つのボタンを表示します。
vbYesNo[はい] ボタンと [いいえ] ボタンを表示します。
vbRetryCancel[再試行] ボタンと [キャンセル] ボタンを表示します。
vbCritical警告メッセージ アイコンを表示します。
vbQuestion問い合わせメッセージ アイコンを表示します。
vbExclamation注意メッセージ アイコンを表示します。
vbInformation情報メッセージ アイコンを表示します。
vbDefaultButton1第 1 ボタンを標準ボタンにします。
vbDefaultButton2第 2 ボタンを標準ボタンにします。
vbDefaultButton3第 3 ボタンを標準ボタンにします。
vbDefaultButton4第 4 ボタンを標準ボタンにします。
vbApplicationModalアプリケーション モーダルに設定します。メッセージ ボックスに応答するまで、現在選択中のアプリケーションの実行を継続できません。
vbSystemModalシステム モーダルに設定します。メッセージ ボックスに応答するまで、すべてのアプリケーションが中断されます。

このようにたくさんの定数が用意されており、仕様によって使い分けることが重要になってきます。

まとめ

メッセージボックスは作業の確認や警告文など重要な役割を持つものですが、既定値ではOKボタンしか表示されないという使用。実行しかできないプログラムは大変危険です、ワンクッション置く為にもvbYesNoを使用して実行確認などを用意しておくこと良いでしょう。

とりあえずはvbYesNoを使いこなせれば大体何とかなります(笑)

フォロー・チャンネル登録お願いします

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

ロゴ

2 件のコメント

  • It’s actually a great and helpful piece of information. I am glad that you just shared this useful information with us. Please stay us up to date like this. Thank you for sharing. ckeccbegfgff

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です