プロが教えるわが家の防犯対策術!

Excelのsheet1というところで右クリック→挿入を選ぶと
「ワークシート」「グラフ」「Excel4.0マクロ」「Excel5.0ダイアログ」という選択肢があります。
通常はワークシートしか選ばなく、ふと気になったのですが「Excel5.0ダイアログ」の使い道をわかりやすく教えていただけませんか?

A 回答 (6件)

こんばんは。

#5です。

>考え方によっては「過去の産物」と捉える事もできるのでしょうか?

それは、Ver.5 と銘を打つことで、意図的に古いものだという印象を与えられているものだと思うのです。やはりマイクロソフト側が新しくしてしまいたい、という気持ちがあるのでしょうね。そうしないと不都合な部分もあるのかもしれません。

フォームのツールバーを出すと、使えない灰色になってアイコンがありますが、その部分が、ダイアログシートで使用するものです。

フォームとコントロールツールは、どちらが便利だといえば、どちらともいえないという声が多いのではないでしょうか?そのようなものです。

実際に、Ver.4 マクロでも同じですが、あえて、そういう技術を学ぼうという人は、そんなに多くないと思います。

ただ、これだけは書いておくけれども、過去のものが必ずしも劣っていることはないのです。過去のものに否定的な人は、多いようです。それをやめてしまえという声は、国内外のマイクロソフトに、モノを言う有力なユーザーがいるのですが、マイクロソフトは、それほど強行な措置を現在取ろうとはしていないようです。
    • good
    • 0
この回答へのお礼

なるほどよく分かりました。
ありがとうございました。

お礼日時:2007/05/14 14:51

ちょっと補足でコメントさせていただきます。



正確には、UserForm とは対比はできません。

私は、あえて、ダイアログシートのことを詳しく人に教える気はありませんが、VBAをオールラウンドで使おうとする者にとっては、DialogSheets の知識も、避けて通れないと思います。Excelの持つ多彩さを知りながら、その特性を生かし表現するということも、その人の技術だからです。ただ、一般の人のレベルやVBAを仕事で使うレベルなら、そういうものを学ぶ必要性はまったくありません。

残念ながら、情報的には、ほとんど手に入らないです。ただ、現行のテクニックでは解決しない場合には、Ver.4 や Ver.5 のテクニックを使わざるを得ないのです。

しかし、私個人としては、上位バージョンのテクニックがありながら、下位バージョンのテクニックを使うのは、あまり、VBAプログラマとしてのマナーが良くないように思います。

現在は、VBAの上級者が、DialogSheets を、メッセージボックスやインプットボックスのひとつとして使っているように思います。Excel 2003までは、一部のアドインに組み込み型のダイアログシートが使われているはずです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
語弊があるかもしれませんが、考え方によっては「過去の産物」と捉える事もできるのでしょうか?
Ver.5と古そうな表示のままなのも気になりました。

お礼日時:2007/05/09 16:29

もうNo2さん、No3さんで回答はすべて出たと思いますが、


私個人的には、無理して使う必要はないと思います。
UserFormに比べると不便だからです。
    • good
    • 0

昔の機能と互換性を保つためにあります


今で言えばユーザーフォームに相当します。Excel5まではダイアログシートにあるダイアログボックスにボタンやテキストボックスを配置して
 DialogSheets("ダイアログ").Show
でダイアログボックスを表示し、「OK」「Cancel」で自動的に閉じる仕組みになっていました。制御にはもちろんマクロが必要です。

通常のシートやグラフシートと同じようにダイアログシートが存在していたところが今の仕様と異なります(今はVBE画面でユーザーフォームを定義・設計します)

Office2003でも13年前にExcel4、5で作った「ダイアログシートを利用した」エクセルシートが動作しますので、今でも使うことは可能ですが、あえてダイアログシートを利用する必要はないと思います。
    • good
    • 0

こんにちは。



まず、ちょうど、
http://oshiete1.goo.ne.jp/qa2978212.html
の質問に出ていました。

「Excel5.0ダイアログ」は、Excelのツールには、「フォーム」というのがありますが、それをフルに使用するための土台、つまり、UserForm のようなものです。そして、作られたものは、ダイアログボックスとなりますから、メッセージボックスに、まったく似たものが出来上がります。

Excelで有名な方でも、この「ダイアログシート」に対して、UserForm との共用すると支障があるということを言いますが、それはありえません。それは、属性が違うからです。

利点は、まず、UserForm よりも、格段に軽いということです。
次に、「ダイアログシート」は、完全に、その存在を隠すことができるということです。VBEditor 画面にも現れてきません。(たぶん、それで嫌われるのかもしれません)

私個人で作ったものは、Excel2003でも、使っておりますが、すでに過去のものとして、Excel4.0マクロと共に忘れ去られる存在のひとつかもしれません。97 のスタイルになってからは、「フォーム」は残しても、ダイアログシートは、使わなくなってしまいました。
    • good
    • 0

こんにちは。



EXCEL のバージョンが「5.0」の場合、フォーム(Dialog)はシートになっています。
たぶん、EXCELのバージョン「5.0」の対応ではないかと思いますが、
最近、EXCEL5.0を使っている方はもういないと思いますね。

<参考>
http://officetanaka.net/excel/vba/tips/tips53.htm
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
使用しているOfficeのバージョンは2000です。
エクセルのバージョン情報を見るとExcel2000です。
でもExcelのsheet1インデックス上で右クリック→挿入を選ぶと
「Excel5.0ダイアログ」と出ます。

旧バージョンの機能を引き継いでいるだけなのですか?
エクセルをもっと使いこなす方法として「Excel5.0ダイアログ」が存在するのでしょうか?
特に必要なければ無視しても良いのか、エクセルをもっと上達したいのであれば習得した方が良い機能なのか知りたいです。

お礼日時:2007/05/07 18:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!