VBSの家VBSの家

Lesson.32 メッセージボックス(3) 改行、選択肢

改行


今までメッセージボックスの本文は改行をしないで表示していました。
そのせいで場合によっては変なところで文が切れたりと見づらくなってしまうことがありました。
そこで今回は本文に改行を入れてみましょう。
改行を入れるには「Chr(13)」というものを使います。
例:

msgbox "改行します。" & Chr(13) & "改行されたよ。"

簡単ですね。
ところで何故13かというと、文字というのはすべてひとつづつ数字が割りあたっています(これを文字コードという)。改行というのは文字コードが13なのです。
また、この改行の方法はインプットボックスでも使えます。

選択肢

メッセージボックス(2)のところでメッセージボックスに選択肢をつけましたよね。
でもあれ、いまだに利用の仕方がわかっていませんでした。
ということで今回紹介します。
実はメッセージボックスを使うと数字が帰ってくるのです。
その数字は以下のとおりです。

メッセージボックスの
戻り値
ボタン
1 [OK]
2 [キャンセル]
3 [中止]
4 [再試行]
5 [無視]
6 [はい]
7 [いいえ]

但しこれを使うときにはmsgboxに()がつくので注意します。
では実際に使ってみましょう。

Dim ret
ret = msgbox("はいかいいえを押してね。",4)
if ret = 6 then
  msgbox "はいが押されました。"
else
  msgbox "いいえが押されました。"
end if

基本的にはインプットボックスと同じような使い方です。
これができるとできることも広がりますね。

練習

今年は2010年?と聞く問題を作成せよ。答えあわせがされれば基本的に形式は問わない。


解答

Dim ret
ret = msgbox("今年は2010年?",4)
if ret = 6 then
  msgbox "はずれー。今年は" & year(now) & "年だよ。"
else
  msgbox "正解!今年は" & year(now) & "年だね。"
end if