メッセージボックスのボタンを変更する | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

前回までに、何度かメッセージボックスの使い方をご紹介してきました(詳細は目次 をご覧ください)。

通常、メッセージボックスには、[OK]ボタンが表示されますが、これを他のボタンに変更する技です。


【マクロ】

Sub MSGBOX_Buttons_例()

'選択ボタン付きのメッセージ表示

Dim myMessage As String 'メッセージの内容
Dim myTitle As String  'タイトル
Dim myStyle As String  'ボタン
Dim myAnswer As String '回答

'変数の設定
myMessage = "メッセージ"
 
myTitle = "タイトル"

myStyle = vbYesNo Or vbQuestion

myAnswer = MsgBox(prompt:=myMessage, Title:=myTitle, Buttons:=myStyle)

'場合分け(myAnserの内容で、実行内容を変更)
Select Case myAnswer

  Case vbYes
    '[はい(Y)]を選択したときの実行内容

  Case vbNo
    '[いいえ(N)]を選択したときの実行内容
 
End Select

End Sub


【解説】

上記で青文字で書いたとおり、前回の記事 にてアイコンを設定した項目に、ボタンの設定も同時に行います。

みんなのワードマクロ

このような表示になります。

myStyle = vbYesNo Or vbQuestion

このとおりですよね。

YesとNoのボタンがあって、Qestionのアイコンが表示される。


また、赤文字で書いた部分も重要なポイントですね。

上記の通り、[はい(Y)][いいえ(N)]を選択することにしていますので、その選択結果によって実行内容を変更する仕掛けです。

myAnswerという変数に、メッセージボックスで回答した値を代入しています。

そして、このmyAnswerの値で、処理を変更しています。


このような仕掛けのことを条件分岐とよびますが、プログラミングで大変重要な部分ですね。

また、この条件分岐を学ぶと、プログラミングが楽しくなってきますね。

条件分岐については、5月25日(土)の第6回ワードマクロ勉強会 in 名古屋 で取り上げますので、ご興味があるかたはご参加ください。

なお、上記の条件分岐の書き方については、今は、「こんなものか」とご理解ください。


【マクロ例】

Sub MSGBOX_Buttons_2()

'ボタン付きのメッセージ表示

Dim myMessage As String 'メッセージの内容
Dim myTitle As String  'タイトル
Dim myStyle As String  'ボタン
Dim myAnswer As String '回答

'変数の設定
myMessage = "今、お仕事中ですか?"
 
myTitle = "あいさつのしかた"

myStyle = vbYesNo Or vbQuestion

myAnswer = MsgBox(prompt:=myMessage, Title:=myTitle, Buttons:=myStyle)

'場合分け(myAnserの内容で、実行内容を変更)
Select Case myAnswer

  Case vbYes
    MsgBox "その仕事に役立ちそうなマクロあるけど、5分だけ試してみる?"

  Case vbNo
    MsgBox "ほら、このマクロ、ちょっとヤバイかも。試してみる?"
 
End Select

End Sub


【解説】

質問への回答により、表示するメッセージを変更します。


みんなのワードマクロ

[はい(Y)]の場合

みんなのワードマクロ


[いいえ(N)]の場合

みんなのワードマクロ

マクロの自慢をしたいだけでした(笑)。


▼関連記事
メッセージボックスの目次

第6回ワードマクロ勉強会 in 名古屋 (条件分岐を題材にします)

マクロコードの登録方法  (上記マクロをワードで実行する方法です)