こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ダイアログボックス?メッセージボックスですか?

用語がわからないので教えてください。
vbaで
Sub インプット()
InputBox ("インプットです")
End Sub
で表示されるボックスは
ダイアログボックスですか?
メッセージボックスですか?

投稿日時 - 2013-02-01 21:42:49

QNo.7923022

暇なときに回答ください

質問者が選んだベストアンサー

どういう目的で、その用語を特定しようとしているのか、その目的にもよると思います。

コードが対話型になりますから、タイプとしては、総称名として「ダイアログボックス」ということになるのでしょうが、それなら、MsgBoxも、ダイアログボックスです。ヘルプにも出てきます。

ダイアログボックスというと、Excelでは、古くから使われてきたDialogSheetで表示されたオブジェクトも連想させます。また、Office 2007以上では、Dialog Box Launcher(ダイアログボックス・起動ツール)で出てくるものも、ダイアログボックスですし、およそ対話型コードで表示されるオブジェクトはすべてダイアログボックスです。

関数とメソッドの違いはありますが、その名の通りのインプットボックス(InputBox)ではいけないのでしょうか?MsgBox は、メッセージボックスでよいのではありませんか?一般的に使う場合には、聞いている側は、ややこしくするだけのような気がします。

投稿日時 - 2013-02-03 20:03:01

お礼

ご回答ありがとうございました。

投稿日時 - 2013-02-12 22:24:12

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

dialogue という言葉はだいたい、「対話、会話」と訳されます。古代ギリシャ語あたりに語源があり、コンピュータとは無関係に、日常の英会話でもよく出てくる言葉です。

つまり、通例では、コマンドとして書くと面倒な幾つかの処理(設定など)について、コンピュータからの質問に答えるという形で指示を出すと、そのとおりに処理が行われるという機能のためのウィンドウのことを、ダイアログボックスと呼んでいることが多いです。例えば「ページ設定」とか、「名前を付けて保存」ダイアログなんかをイメージされるとよいでしょう。

単にメッセージを出すだけのものなら、メッセージボックスと呼ぶことが多いです。例えば Excel がときどき、「そのコマンドは……実行できません」などとしゃべり出すことをイメージされるとよいでしょう。

ダイアログボックスよりも複雑で、複数ページによって数段階の設定を行うようなものは、ウィザード(wizard、魔法使いの意)と呼ばれます。Excel では「区切り位置指定ウィザード」とか、「ピボットテーブルの作成」、Excel 2003 までの「グラフウィザード」が該当しそうです。

以上を踏まえると、Excel VBA の InputBox はユーザーによる入力を求めるので、ダイアログボックスと考えることができると思います。

と言いながら、MsgBox でも「はい」、「いいえ」、「キャンセル」を選ばせて、その結果によってプロシージャの処理内容を変えることもあるので、ダイアログしちゃってるけど(笑)、メッセージボックスと名乗っていたりもするわけです。まあ文字をユーザーにタイプさせるという操作と、ボタンをクリックさせるだけというのは、区別してみたってところでしょうか。

投稿日時 - 2013-02-02 06:23:58

お礼

ご回答ありがとうございました。

投稿日時 - 2013-02-12 22:24:10

ANo.1

ダイアログボックスですね。



#参考
VBAのヘルプを見てみると、結構よく書いてあります。

----例
InputBox 関数
関連項目 使用例 アプリケーション情報

文字列型 (String) の値を返します。ダイアログ ボックスにメッセージとテキスト ボックスを表示し、文字列が入力されるか、またはボタンがクリックされると、テキスト ボックスの内容を返します。
------

命令の使い方とかを含め、ヘルプを確認する習慣をつけておくと確実に実力アップします。

投稿日時 - 2013-02-01 22:46:01

お礼

ご回答ありがとうございました。

投稿日時 - 2013-02-12 22:24:09

あなたにオススメの質問