その他の関数【Access/Excel】

関数【Access_Excel】 05.関数
関数【Access_Excel】

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】です。

コメント

タイトルとURLをコピーしました