Chapter2-9 MsgBox関数とInputBox関数

Accessでは、情報を画面表示したり、データを入力したりする場合、フォームを使います。しかし、簡単なメッセージ表示や1行のデータ入力であれば、VBAの関数で処理することができます。「MsgBox」関数「InputBox」関数は、簡単な情報を画面表示したりユーザーに簡単なデータを入力させたりする関数で、自分でフォームを作る必要がありません。

MsgBox関数

  • ユーザーに対するメッセージや、簡単な選択をさせるためのダイアログを表示する関数

  • 基本構文:

    返り値 = MsgBox(メッセージ, ボタン, タイトル)


    • 「メッセージ」には任意のメッセージ文を指定
    • 「ボタン」には、表示するボタンやアイコンの種類を、複数の組み込み定数を”+”で組み合わせて指定
    • 「タイトル」にはダイアログのタイトルバーの文字を指定
    • 「返り値」にはユーザーによって選択されたボタンの番号が入る(組み込み定数によってその値に応じた分岐処理を行なう)

■返り値を処理しない単純なメッセージボックス

MsgBox "メッセージの例です。", vbOKOnly + vbInformation, "MsgBoxの例"





■メッセージボックスの返り値を処理する例

If MsgBox("いずれかのボタンをクリックしてください!" & _
          vbCrLf & vbCrLf & _
          "[OK]を選択した場合はメッセージが表示されます。" & _
          "[キャンセル]を選択した場合は何も表示されません。", _
          vbOKCancel + vbQuestion, "MsgBoxの例") = vbOK Then

  MsgBox "OKボタンがクリックされました!", _
          vbOKOnly + vbInformation, "MsgBoxの例"
End If



※「vbCrLf」は改行を表す組み込み定数です。


■MsgBox関数に指定する組み込み定数
MsgBox関数に指定する組み込み定数は、大きく分けると次の2種類です。これらを”+”で組み合わせて記述することで、さまざまなバリエーションの表示を行うことができます。
  • ボタン
       vbOKOnly、vbOKCancel、vbYesNoなど

  • アイコン
       vbQuestion、vbExclamation、vbInformationなど

  • デフォルトボタン
       vbDefaultButton1、vbDefaultButton2など

    ※デフォルトボタンは、表示時にあらかじめフォーカスがあるボタンです。優先的に選択されるため、そのままEnterキーを押すことで処理されるボタンを指定します。「保存しますか?」や「破棄しますか?」のような選択では、ユーザーにとって安全な方向へ進むボタンをデフォルトにします。

下表は、MsgBox関数で使われる組み込み定数と、その実行画面の一覧です。これらを参考に、必要な組み込み定数を組み合わせて指定してください。なお、コーディングの際には、自動メンバ表示によってコードウィンドウ上に定数が一覧表示されますので、綴りまで覚える必要はありません。
対象 設定内容 組み込み定数 実行画面例



[OK]ボタンのみ
(省略時の設定)
vbOKOnly
[OK]ボタン
[キャンセル]ボタン
vbOKCancel
[中止]ボタン
[再試行]ボタン
[無視]ボタン
vbAbortRetryIgnore
[はい]ボタン
[いいえ]ボタン
[キャンセル]ボタン
vbYesNoCancel
[はい]ボタン
[いいえ]ボタン
vbYesNo
[再試行]ボタン
[キャンセル]ボタン
vbRetryCancel




警告メッセージアイコン vbCritical
問い合わせメッセージアイコン vbQuestion
注意メッセージアイコン vbExclamation
情報メッセージアイコン vbInformation







第1ボタンに設定
(省略時の設定)
vbDefaultButton1
第2ボタンに設定 vbDefaultButton2
第3ボタンに設定 vbDefaultButton3

また下表は、MsgBox関数の返り値を処理する際に使う、選択されたボタンを表す組み込み定数の一覧です。
選択されたボタン 組み込み定数
[OK] ボタン vbOK
[キャンセル]ボタン vbCancel
[はい]ボタン vbYes
[いいえ]ボタン vbNo
[中止]ボタン vbAbort
[再試行]ボタン vbRetry
[無視]ボタン vbIgnore



InputBox関数

  • 1行だけの簡単なデータ入力を行うためのダイアログ(インプットボックス)を表示し、そこで入力された値を返す関数

  • 基本構文:

    返り値 = InputBox(メッセージ, タイトル, 初期値)


    • 「メッセージ」には任意のメッセージ文を指定
    • 「タイトル」にはダイアログのタイトルバーの文字を指定
    • 「初期値」には、あらかじめ表示しておく入力データを指定(省略可)
    • 「返り値」にはユーザーによって入力された値が入る([キャンセル]ボタンがクリックされたか、1文字も入力されずに[OK]ボタンがクリックされたときは、長さゼロの文字列となるので、その長さを確認してから後処理を行なう)

■InputBox関数の使用例

Dim strData As String

strData = InputBox("データを入力してください。", "InputBoxの例", "1234")
If Len(strData) > 0 Then
  MsgBox "入力されたデータは ‘" & strData & "‘ です。"
Else
  MsgBox "何も入力されませんでした。"
End If


| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved