Msgbox関数
指定した文字列を画面に表示します。また、アイコンを表示したり、選択できるボタンを表示することができます。
【書式】
MsgBox(メッセージ,[ボタン],[タイトル])
引数 | 定数 | 説明 |
---|---|---|
メッセージ | – | メッセージとして表示される文字列を指定する。 |
ボタン(省略可) | vbOKOnly(規定) vbOKCancel vbAbortRetrylgnore vbYesNo vbRetryCancel | [OK]ボタンを表示する。 [OK][キャンセル]ボタンを表示する。 [中止][再試行][無視]ボタンを表示する。 [はい][いいえ]ボタンを表示する。 [再試行][キャンセル]ボタンを表示する。 |
タイトル(省略可) | ー | タイトルとして表示される文字列を表示する。 |
ボタンに下表の定数を加算することで表示するメッセージボックスに機能を追加します。
種類 | 定数 | 説明 |
---|---|---|
アイコン | vbCritical vbQuestion vbExclamation vbInformation | 警告メッセージアイコンを表示します。 問い合わせメッセージアイコンを表示します。 注意メッセージアイコンを表示します。 情報メッセージアイコンを表示します。 |
初期値 | vbDefaultButton1(規定) vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 | 第1ボタンを初期値にします。 第2ボタンを初期値にします。 第3ボタンを初期値にします。 第4ボタンを初期値にします。 |
その他 | bApplicationModal(規定値) vbSystemModal vbMsgBoxHelpButton VbMsgBoxSetForeground vbMsgBoxRight vbMsgBoxRtlReading | アプリケーションモーダルに設定 システムモーダルに設定 ヘルプ ボタンを表示 最前面のウィンドウとして表示 テキストを右寄せで表示 テキストを、右から左の方向で表示 |
MsgBox関数はユーザーがクリックしたボタンの結果を返します。MsgBox巻子が返す定数は下表の通りです。
定数 | クリックしたボタン |
---|---|
vbOK | [OK]ボタン |
vbCancel | [キャンセル]ボタン |
vbAbort | [中止]ボタン |
vbRetry | [再試行]ボタン |
vbIgnore | [無視]ボタン |
vbYes | [はい]ボタン |
vbNo | [いいえ]ボタン |
Sub MsgBox_1() If MsgBox("選択してください。", vbYesNo + vbDefaultButton2 + vbQuestion, "選択処理") = vbYes Then MsgBox "「はい」が選択されました。" Else MsgBox "「いいえ」が選択されました。" End If End Sub
コードを実行すると下記メッセージが表示されます。
改行を含む長いメッセージは下記のような指定をすると分かりやすくなります。
Sub MsgBox_2() Dim tmp As String tmp = "" tmp = tmp & "あいうえお" & vbCrLf tmp = tmp & "かきくけこ" & vbCrLf If MsgBox(tmp, vbYesNo , "選択処理") = vbYes Then MsgBox "「はい」が選択されました。" Else MsgBox "「いいえ」が選択されました。" End If End Sub
InputBox関数
ユーザーから入力を受け付けるダイアログボックスを表示し入力された文字列を返します。
【書式】
InputBox(メッセージ,[タイトル],[初期値],[左端標],[上端座標])
引数 | 説明 |
---|---|
メッセージ | メッセージとして表示される文字列を指定します。 |
タイトル(省略可) | タイトルとして表示される文字列を指定します。 |
初期値(省略可) | あらかじめ入力欄にセットされる文字列を指定します。 |
左端座標(省略可) | ダイアログボックスの左端座標。省略すると画面中央に表示する。 |
上端座標(省略可) | ダイアログボックスの上端座標。省略すると画面中央に表示する。 |
Sub InputBox_1() Dim MyString As String MyString = InputBox("氏名を入力してください", "氏名入力", "ゲスト") If MyString = "" Then MsgBox "キャンセルまた氏名が入力されませんでした。" Else MsgBox MyString & "さん、こんにちは。" End If End Sub
コードを実行すると下記画面を表示します。
Array関数
指定された要素からVariant形の配列を作ります。
【書式】
Array(要素1,要素2,要素3,・・・)
Sub Array_1() Dim MyValue As Variant Dim i As Long MyValue = Array("a", "b", "c") For i = 0 To 2 MsgBox i + 1 & "番目の要素は" & MyValue(i) Next End Sub
LBound関数/UBound関数
LBound関数は、配列のインデックス番号の下限を、UBound関数は、配列のインデックス番号の上限をそれぞれ返します。
【書式】
LBound(配列)
UBound(配列)
'※Array関数のサンプルをLBound関数/UBound関数を使用して修正 Sub LBound_UBbound_1() Dim MyValue As Variant Dim i As Long MyValue = Array("a", "b", "c") For i = LBound(MyValue) To UBound(MyValue) MsgBox i + 1 & "番目の要素は" & MyValue(i) Next End Sub '※Split関数/Join関数のサンプルをLBound関数/UBound関数を使用して修正 Sub LBound_UBbound_2() Dim BeforeString As Variant Dim AfterString As String Dim i As Long BeforeString = Split("12,34,56", ",") For i = 0 To 2 MsgBox i + 1 & "番目の要素は" & BeforeString(i) Next AfterString = Join(BeforeString, "/") MsgBox AfterString '12/34/56 を返します End Sub
IIF関数
指定した条件の評価によって異なる値を返します。
【書式】
IIf(条件式,真の値,偽の値)
Sub IIf_1() MsgBox IIf(Hour(Now) < 12, "午前です", "午後です") End Sub
次は基本操作(DoCmd)【Access】です。
コメント