VBA-メッセージボックス

ザ・ MsgBox function メッセージボックスを表示し、ユーザーがボタンをクリックするのを待ってから、ユーザーがクリックしたボタンに基づいてアクションが実行されます。

構文

MsgBox(prompt[,buttons][,title][,helpfile,context])

パラメータの説明

  • Prompt−必須パラメーター。ダイアログボックスにメッセージとして表示される文字列。プロンプトの最大長は約1024文字です。メッセージが1行を超えている場合は、各行の間に改行文字(Chr(13))または改行文字(Chr(10))を使用して行を区切ることができます。

  • Buttons−オプションのパラメータ。表示するボタンのタイプ、使用するアイコンスタイル、デフォルトボタンのID、およびメッセージボックスのモダリティを指定する数式。空白のままにすると、ボタンのデフォルト値は0になります。

  • Title−オプションのパラメータ。ダイアログボックスのタイトルバーに表示される文字列式。タイトルを空白のままにすると、アプリケーション名がタイトルバーに表示されます。

  • Helpfile−オプションのパラメータ。ダイアログボックスの状況依存ヘルプを提供するために使用するヘルプファイルを識別する文字列式。

  • Context−オプションのパラメータ。ヘルプ作成者によって適切なヘルプトピックに割り当てられたヘルプコンテキスト番号を識別する数式。コンテキストを指定する場合は、ヘルプファイルも指定する必要があります。

ザ・ Buttons パラメータは次の値のいずれかを取ることができます-

  • 0vbOKOnly- [OK]ボタンのみを表示します。

  • 1vbOKCancel- [OK]ボタンと[キャンセル]ボタンを表示します。

  • 2 vbAbortRetryIgnore- [中止]、[再試行]、および[無視]ボタンを表示します。

  • 3 vbYesNoCancel- [はい]、[いいえ]、および[キャンセル]ボタンを表示します。

  • 4vbYesNo- [はい]ボタンと[いいえ]ボタンを表示します。

  • 5vbRetryCancel-再試行ボタンとキャンセルボタンを表示します。

  • 16vbCritical-クリティカルメッセージアイコンを表示します。

  • 32vbQuestion-警告クエリアイコンを表示します。

  • 48vbExclamation-警告メッセージアイコンを表示します。

  • 64vbInformation-情報メッセージアイコンを表示します。

  • 0vbDefaultButton1-最初のボタンがデフォルトです。

  • 256vbDefaultButton2-2番目のボタンがデフォルトです。

  • 512vbDefaultButton3-3番目のボタンがデフォルトです。

  • 768vbDefaultButton4-4番目のボタンがデフォルトです。

  • 0 vbApplicationModalアプリケーションモーダル-現在のアプリケーションは、ユーザーがメッセージボックスに応答するまで機能しません。

  • 4096 vbSystemModalシステムモーダル-ユーザーがメッセージボックスに応答するまで、すべてのアプリケーションは機能しません。

上記の値は、論理的に4つのグループに分けられます。 first group(0〜5)は、メッセージボックスに表示するボタンを示します。ザ・second group (16、32、48、64)は、表示されるアイコンのスタイルを示します。 third group (0、256、512、768)は、どのボタンをデフォルトにする必要があるかを示し、 fourth group (0、4096)は、メッセージボックスのモダリティを決定します。

戻り値

MsgBox関数は、ユーザーがメッセージボックスでクリックしたボタンを識別するために使用できる次の値のいずれかを返すことができます。

  • 1-vbOK- [OK]をクリックしました
  • 2-vbCancel-キャンセルがクリックされました
  • 3-vbAbort-中止がクリックされました
  • 4-vbRetry-再試行がクリックされました
  • 5-vbIgnore-無視がクリックされました
  • 6-vbYes-はいがクリックされました
  • 7-vbNo-クリックされませんでした

Function MessageBox_Demo() 
   'Message Box with just prompt message 
   MsgBox("Welcome")     
   
   'Message Box with title, yes no and cancel Butttons  
   int a = MsgBox("Do you like blue color?",3,"Choose options") 
   ' Assume that you press No Button  
   msgbox ("The Value of a is " & a) 
End Function

出力

Step 1 −上記の関数は、VBAウィンドウの[実行]ボタンをクリックするか、次のスクリーンショットに示すようにExcelワークシートから関数を呼び出すことで実行できます。

Step 2 −シンプルメッセージボックスが表示され、「ようこそ」と「OK」ボタンが表示されます。

Step 3 − [OK]をクリックすると、さらに別のダイアログボックスが表示され、「はい、いいえ、キャンセル」ボタンとともにメッセージが表示されます。

Step 4− [いいえ]ボタンをクリックすると、そのボタン(7)の値が整数として保存され、次のスクリーンショットに示すようにユーザーにメッセージボックスとして表示されます。この値を使用すると、ユーザーがどのボタンをクリックしたかを理解できます。