小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

MsgBoxで改行するには

VB系のMsgBoxのメッセージを改行するにはvbCrを使います。

VBScriptでのサンプルソース

Option Explicit
Dim Ans

Ans = MsgBox("あなたは" & vbCr & "犯人ですか?", vbYesNo, "質問") '関数的呼び出し
If Ans = vbYes Then
   MsgBox "あなたは" & vbCr & "犯人です。",,"答え1" 'Callステートメントを省略した呼び出し
Else
   Call MsgBox("あなたは" & vbCr & "犯人でないです。",,"答え2") 'Callステートメントで呼び出し
End If

サンプルソース解説

  • Option Explicitは、変数の宣言を強制する。今やこれはPerlやJavaScritでも常識ですね。
  • Dimは、変数を宣言してメモリ領域を割り当てます。VBScriptではVariant型しかありません。
  • 関数やサブルーチンの呼び出し方には以下の3通りがあります。
    • 関数的呼び出し(必ず引数を小カッコで囲む)
    • Callステートメントを省略した呼び出し(必ず引数を小カッコで囲まない)
    • Callステートメントで呼び出し(必ず引数を小カッコで囲む)
  • 『'』で始まる文字列は、コメントになります。VBScriptではシングルクォートの文字列はありません。
  • 文字列は『"』で囲みます。改行する時は、文字列に『&』で vbCrを繋ぎます。ちなみに『+』でも文字列を繋ぐことができますが、四則演算の『+』と混乱するため最近の文字列連結には『&』のみを使用するのが推奨です。

◆「vbCr」のような文字列の定数

定数 内容
vbCr Chr(13) キャリッジ リターン文字。
VbCrLf Chr(13)、Chr(10) キャリッジ リターンとライン フィードの組み合わせ。
vbFormFeed Chr(12) フォーム フィード文字。Microsoft Windows では使用できません。
vbLf Chr(10) ライン フィード文字。
vbNewLine Chr(13)、Chr(10) または Chr(10) プラットフォームで指定した改行文字。現在のプラットフォームに適切ないずれかを使用します。
vbNullChar Chr(0) 値 0 を持つ文字列。
vbNullString 値 0 を持つ文字列 長さ 0 の文字列 ("") とは異なります。外部プロシージャを呼び出す場合に使用します。
vbTab Chr(9) タブ文字 (横)。
vbVerticalTab Chr(11) タブ文字 (縦)。Microsoft Windows では使用できません。
http://msdn.microsoft.com/ja-jp/library/cc392241.aspx

◆MsgBoxの第2引数で指定できる定数

定数 内容
vbOKOnly 0 [OK] ボタンのみを表示します。
vbOKCancel 1 [OK] ボタンと [キャンセル] ボタンを表示します。
vbAbortRetryIgnore 2 [中止]、[再試行]、および [無視] の 3 つのボタンを表示します。
vbYesNoCancel 3 [はい]、[いいえ]、および [キャンセル] の 3 つのボタンを表示します。
vbYesNo 4 [はい] ボタンと [いいえ] ボタンを表示します。
vbRetryCancel 5 [再試行] ボタンと [キャンセル] ボタンを表示します。
vbCritical 16 警告メッセージ アイコンを表示します。
vbQuestion 32 問い合わせメッセージ アイコンを表示します。
vbExclamation 48 注意メッセージ アイコンを表示します。
vbInformation 64 情報メッセージ アイコンを表示します。
vbDefaultButton1 0 第 1 ボタンを標準ボタンにします。
vbDefaultButton2 256 第 2 ボタンを標準ボタンにします。
vbDefaultButton3 512 第 3 ボタンを標準ボタンにします。
vbDefaultButton4 768 第 4 ボタンを標準ボタンにします。
vbApplicationModal 0 アプリケーション モーダルに設定します。メッセージ ボックスに応答するまで、現在選択中のアプリケーションの実行を継続できません。
vbSystemModal 4096 システム モーダルに設定します。メッセージ ボックスに応答するまで、すべてのアプリケーションが中断されます。
http://msdn.microsoft.com/ja-jp/library/cc410277.aspx

◆MsgBoxの戻り値

定数 選択されたボタン
vbOK 1 [OK]
vbCancel 2 [キャンセル]
vbAbort 3 [中止]
vbRetry 4 [再試行]
vbIgnore 5 [無視]
vbYes 6 [はい]
vbNo 7 [いいえ]
http://msdn.microsoft.com/ja-jp/library/cc410277.aspx