通常、メッセージボックスの書式は、以下の通りです。
MsgBox(メッセージ[, ボタンの種類, [タイトル]])
[ ](カッコ)は、省略可能な引数を表しています。
つまりメッセージ以外は、省略可能です。
だから今までは、MsgBox(str) という使い方ができたわけです。
また、引数が複数ある場合は、「,」(カンマ)で区切る決まりになっています。
したがって今回は、以下のような書式を使います。
MsgBox(メッセージ, , [タイトル])
ポイントは、省略した引数も、カンマは残しておく必要があることです。
そして大事なポイントが、もう一つあります。
実は、上記の書式のままMsgBoxを使うと、実行時にエラーが出ます。
原因は、MsgBoxが値を返すためです。
そのため( )を使う場合は、プログラムの書き方が、少し異なります。
これについては、後で説明します。
一番簡単な解決策は、( )を外すことです。
ということで、最終的な書式は、以下の通りです。
MsgBox メッセージ, , [タイトル]
【1】以下のようにプログラミングします。
ファイル名 sample014.vbs
Option Explicit
Dim str
str = "日付:" & Date & vbCr & "時刻:" & Time
MsgBox str, , "時計"
*「,」は半角ですので、入力する時は、注意してください。
【2】vbsファイルをダブルクリックして実行します。
どうですか?
MsgBoxにタイトルが表示されますよね。
ついでに、( )を付けた場合のプログラムも書いておきます。
ファイル名 sample015.vbs
Option Explicit
Dim str, res
str = "日付:" & Date & vbCr & "時刻:" & Time
res = MsgBox(str, , "時計")
あらかじめ res という変数を用意しておきます。
(変数名は何でもかまいません)
そして、MsgBoxが返す値(戻り値)を、変数resで受け取ります。
ここで受け取るとは、代入するという意味。
たったこれだけです。
でも前者のほうが、プログラムがシンプルですよね。
【プログラムの解説】
変数は、複数まとめて宣言できます。カンマで区切ります。
Dim str, res
分けて書いても同じです。
Dim str
Dim res
余裕がある人は、試してみてください。
ファイル名 sample016.vbs
Option Explicit
Dim str
Dim res
str = "日付:" & Date & vbCr & "時刻:" & Time
res = MsgBox(str, , "時計")