作成日 2005/4/16
最終更新日 2005/10/22

2-1.エクセルの自動生成機能で作成したボタンを追加するコードの詳しい説明

 マクロの自動生成機能で作った『Excelのメニューにボタンを追加する』コード(下のコード)を説明します。
Module1 (標準モジュール)
Sub マクロ1()
'
' マクロ1 Macro
' マクロ記録日 : 2005.4.9  ユーザー名 : 宮崎 崇
'

'

    Application.CommandBars("Standard").Controls.Add Type:=msoControlButton, Id _
        :=375, Before:=15
End Sub


1.Application
2.Application.CommandBars
3.Application.CommandBars("Standard")
4.Application.CommandBars("Standard").Controls
5.Application.CommandBars("Standard").Controls.Add

1.Application

 これでApplicationオブジェクトへの参照を取得する。
 Applicationオブジェクトとは:だるまもよくわかっていない。Excelアプリケーション全体を表すってヘルプに書いてあった。
このページのトップへ

2.Application.CommandBars

 これで、コマンドバーオブジェクトのコレクションオブジェクトへの参照を取得する。
 コレクションオブジェクトだけど、これは配列に機能を追加したものと考えていい。
 下に書いた1次元配列を取得したと考えて。
コマンドバーの名前
ハードコピー
WorkSheet Menu Bar
WorkSheet Menu Bar
Chart Menu Bar
Chart Menu Bar
Standard
Standardコマンドバー
Formatting
Formattingコマンドバー
:
:

このページのトップへ

3.Application.CommandBars("Standard")

 これ、こう書いても同じ。
 Application.CommandBars.Item("Standard")

 これで、コマンドバーオブジェクトのコレクションオブジェクトから、"Standard"コマンドバーオブジェクト(下の図の奴)への参照を取得する。 (つまり1次元配列から中身をひとつ取り出したって事。)
Standardコマンドバー
Standardコマンドバー

このページのトップへ

4.Application.CommandBars("Standard").Controls

 "Standard"コマンドバーにはたくさんのコマンドバーコントロール
(コマンドバーコントロールとはコマンドバーにあるボタン、コンボボックス、ポップアップメニューの総称のこと)がある。
 そのコマンドバーコントロールのコレクションオブジェクトへの参照を取得する。
 つまり、下のような1次元配列を取得すると考えていいと思う。
コマ ンド バー コントロールの名前(Captionプロパティの値)
ハー ドコ ピー
新規作成
新規作成コマンドボタン
開く
開くコマンドボタン
保存
保存コマンドボタン
アラームの設定...
アラームの設定...コマンドボタン
プリント
プリントコマンドボタン
プリント プレビュー
プリントプレビューコマンドボタン
:
:
検索 Excel ヘルプ
検索 Excel ヘルプコマンドボタン

このページのトップへ

5.Application.CommandBars("Standard").Controls.Add

 早い話、上に書いた1次元配列に要素(コマンドバーコントロール)を1つ追加しろって言っている。
(追加するコマンドバーコントロールのタイプ、コントロールを追加する位置はAddメソッドの引数で指定する。)
 ちなみに、Addメソッドの返り値は、追加したコマンドバーコントロールへの参照です。
Prev Up Next  Top
このページのトップへ

このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。