<Excel As CommandBarControlでメニューにマクロを登録>
こんにちは、三流プログラマーのKen3です。 今回は、まだ実用的なツールも作っていないのに、 メニューにマクロを割り当てる方法を探ってみました。 http://www.ken3.org/p/h/office-029.lzh に今回のサンプル保存されてます。/* * 1. 今回のキッカケ */
前回、下記のようにして、 ショートカットキーにマクロを割り当てました。 .OnKeyメソッドが見つかる。
Private Sub Workbook_Open()
'プロシージャーの登録
Application.OnKey "^{c}", "aaa"
'CTRL+Cをつぶすと(横取りすると問題あるが・・)
End Sub |
Sub menu_add()
Dim objMENU As CommandBarControl
Dim objSUBMENU As CommandBarControl
'メインメニューを追加する
Set objMENU = CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, , , , True)
objMENU.Caption = "Ken3テスト"
'階層の下を作成する
Set objSUBMENU = objMENU.Controls.Add 'アイテムを追加する
objSUBMENU.Caption = "VBAのSUB AAA" '表題
objSUBMENU.OnAction = "aaa" 'モジュール名を文字列で
Set objSUBMENU = Nothing '設定後開放してもOKです。
'階層の下を作成する
Set objSUBMENU = objMENU.Controls.Add 'アイテムを追加する
objSUBMENU.Caption = "SUB BBBを起動" '表題
objSUBMENU.OnAction = "bbb" 'モジュール名を文字列で
Set objSUBMENU = Nothing '設定後開放してもOKです。
End Sub |
Sub aaa()
MsgBox "AAAが呼ばれました"
End Sub |
Sub bbb()
MsgBox "BBBが呼ばれました"
End Sub |
↑メニューの追加実行のイメージです。
通常は、_Openのイベントなどで、メニューを初期化すればOKだと思います。
-【けんぞう!】---------------------------------------------------------
三流君の、小金稼ぎ、お小遣い稼ぎシリーズ第2弾(稼げないだろコラ!!)
http://www.ken3.org/etc/500yen/yosou.html
キャンペーン参加で得たコインを予想問題に投票。正解するとコインが倍増、
それを換金という画期的“お得エンタメ”です。
運と実力で誰でも現金獲得のチャンスがあります。
思ったよりもあたらないけど、無料なのでチャレンジしてみては?
------------------------------------------------------------------------
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
|
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]