見出し画像

【Day45】文系オタクのエンジニア道~関数④~MsgBox Part2

こんにちは
安田です

色々と奥深いメッセージボックスの続きです


ユーザーの操作を判定する

MsgBox関数は、ユーザーがどのボタンをクリックしたかを返します

複数のボタンを表示したとき
→関数の戻り値で結果を判定する→戻り値を受け取る

「OK」ボタンだけを表示したとき
→関数の戻り値は必要ない→戻り値を受け取らない

戻り値を受け取るとき 関数の引数をかっこで囲む
戻り値を受け取らないとき 関数の引数をかっこで囲まない

間違った文法
かっこで囲っていないため

Sub test1()
    Dim A As Long
    '文法エラーになる
    A = MsgBox "メッセージ", vbYesNo
End Sub

正しい文法
vbYesNoを指定しているので
「はい」「いいえ」のボタンが表示されます
戻り値を使うので引数をかっこで囲う必要があります

Sub test1()
    Dim A As Long
    A = MsgBox("メッセージ", vbYesNo)
End Sub

戻り値に関する定数

定数の実体は数値となります
変数の型をLong型(長整数型)やInteger(整数型)で宣言します

Sub test2()
    Dim A As Long
    A = MsgBox("メッセージ", vbYesNo)
    
     If A = vbYes Then
       Else
     End If
     
End Sub

Enterキーでボタンクリック

マウスのクリックだけでなく
Enterキーを押すことで
ボタンがクリックされたとみなすことができる

定数
vbDefaultButton1やvbDefaultButton2で指定します

Sub test3()
    Dim A As Long
    
    A = MsgBox("メッセージ", vbYesNo + vbDefaultButton1)
    A = MsgBox("メッセージ", vbYesNo + vbDefaultButton2)

End Sub

メッセージボックス内で改行する

定数
vbCrLf
を指定します

Sub test4()
    MsgBox "ジョジョの奇妙な冒険" & vbCrLf & "第5部" & vbCrLf & "黄金の風"
End Sub

まとめ

色んなやり方で
メッセージボックスを表示することが分かりました
改行は便利そうなので
しっかりとインプットしていきます

参考文献

VBAマスターに俺はなる

最後まで読んでいただき
ありがとうございます
安田

マガジンにまとめてありますので
よかったらそちらも御覧ください


この記事が気に入ったらサポートをしてみませんか?