2008年11月30日

ダイアログシート

Excelのシートの種類は、現在では、ワークシートとグラフシートだけと考えていい……はずなのですが、なぜかExcel 2007の「開発」タブには「ダイアログの実行」などというコマンドが用意されていたりします。
これは、ダイアログシートで作成したダイアログボックスを表示させるためのものです。

Excel 2003でも「フォーム」ツールバーには残っていますが、こちらは通常グレー(使用不可)状態なので、2007で、この機能が有効な状態で表示される意図が、どうもよくわかりません。
普通はまあ、旧データとの互換性のため、ということでしょうが、そこまで古いデータを、Excel 2007で、普通に使うものなのでしょうか?(^^;)

Excel4マクロシートの場合、最近のバージョンのExcelでも、Ctrl+F11のショートカットキーで挿入できます。
一方、ダイアログシートについては、ショートカットキーがあるのかどうかは確認できていません(たぶんないような気がしますが……もしご存知の方は教えてください)。

それでは最近のExcelでダイアログシートを挿入したい場合(そんな場合があるのかどうかはさておき)はどうすればいいかというと、次のようなVBAのコードでできます。

DialogSheets.Add

ダイアログシートがアクティブになると、Excel 2003以前では、自動的に「フォーム」ツールバーが表示されます。
一度でいいから「フォーム」ツールバーのすべてのボタンが有効になっているところを見てみたい、と常々思っていらっしゃる方は、ぜひお試しください。(^^;)
(なお、ボタンがすべて有効になるのは、どれかコントロールを選択している状態です)

「ダイアログの実行」をクリックすると、ここでデザインしたダイアログボックスが表示されます。
VBAで表示させたい場合は、

DialogSheets(1).Show

などのようにします。

ちなみに、ダイアログシートを表すDialogSheetオブジェクトでは、Typeプロパティは使用できません。(^^;)
posted by 土屋和人 at 12:43| Comment(0) | TrackBack(0) | Excel
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/23614235
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック