Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10496 / 13646 ツリー ←次へ | 前へ→

【21507】グラフ選択時の「ツール」メニューへのメ... よっしー 05/1/22(土) 1:18 発言[未読]
【21509】Re:グラフ選択時の「ツール」メニューへの... IROC 05/1/22(土) 2:02 回答[未読]
【21512】Re:グラフ選択時の「ツール」メニューへの... よっしー 05/1/22(土) 2:20 回答[未読]
【21511】Re:グラフ選択時の「ツール」メニューへの... ichinose 05/1/22(土) 2:15 発言[未読]
【21513】Re:グラフ選択時の「ツール」メニューへの... よっしー 05/1/22(土) 2:25 お礼[未読]

【21507】グラフ選択時の「ツール」メニューへのメ...
発言  よっしー  - 05/1/22(土) 1:18 -

引用なし
パスワード
   アドインのロード時とアンロード時に
メニュー項目の追加・削除を行いたいのですが、
通常時の「ツール」メニューではなく、
グラフを選択したときに出てくる「ツール」メニューに
メニュー項目を追加するにはどのようにすればよいのでしょうか。

Application.CommandBars("Tools")
だと通常時の「ツール」メニューを参照してしまいますよね。

ちなみに、ユーザー設定の「コマンド」タブで
「組み込みのメニュー」の下から8つめに
『グラフ選択時の「ツール」メニュー』があるので、
それを表示させて、そこにコマンドボタンを追加したときの
マクロを記録させてみたのですが、
そのマクロを走らせてみると
グラフ選択時ではなく、通常時の「ツール」メニューに
ボタンが追加されてしまいます。
(つまり自動生成マクロでは、2つの「ツール」メニューの
区別ができていないということになります)

詳しい方がいらっしゃいましたら、
ご教授いただきますようお願いいたします。

【21509】Re:グラフ選択時の「ツール」メニューへ...
回答  IROC  - 05/1/22(土) 2:02 -

引用なし
パスワード
   >Application.CommandBars("Tools")
>だと通常時の「ツール」メニューを参照してしまいますよね。
Excel2000だと、Tools というコマンドバーはありませんが
バージョンは何をお使いでしょうか?
CommandBars(メニューバー)→Controls(コントロール)
と指定すればできると思いますけど?

【21511】Re:グラフ選択時の「ツール」メニューへ...
発言  ichinose  - 05/1/22(土) 2:15 -

引用なし
パスワード
   ▼よっしー さん:
こんばんは。
>アドインのロード時とアンロード時に
>メニュー項目の追加・削除を行いたいのですが、
>通常時の「ツール」メニューではなく、
>グラフを選択したときに出てくる「ツール」メニューに
>メニュー項目を追加するにはどのようにすればよいのでしょうか。
>
>Application.CommandBars("Tools")
>だと通常時の「ツール」メニューを参照してしまいますよね。
>
>ちなみに、ユーザー設定の「コマンド」タブで
>「組み込みのメニュー」の下から8つめに
>『グラフ選択時の「ツール」メニュー』があるので、
>それを表示させて、そこにコマンドボタンを追加したときの
>マクロを記録させてみたのですが、
>そのマクロを走らせてみると
>グラフ選択時ではなく、通常時の「ツール」メニューに
>ボタンが追加されてしまいます。
>(つまり自動生成マクロでは、2つの「ツール」メニューの
>区別ができていないということになります)
>
>詳しい方がいらっしゃいましたら、
>ご教授いただきますようお願いいたします。
'=======================================================
Sub main()
  Dim tools As CommandBarPopup
  For Each tools In CommandBars("Chart Menu Bar").Controls
   If tools.CommandBar.Name = "Tools" Then
     Exit For
     End If
   Next
  With tools.Controls.Add(Type:=msoControlButton, Temporary:=True)
   .Caption = "私が作ったアドイン"
   .OnAction = "aaaa" 'ここにマクロ名を指定します
   End With
End Sub

確認して下さい。

【21512】Re:グラフ選択時の「ツール」メニューへ...
回答  よっしー  - 05/1/22(土) 2:20 -

引用なし
パスワード
   すみません、バージョン書き忘れていました。
Excel2003です。


>CommandBars(メニューバー)→Controls(コントロール)

通常時の「ツール」メニューとグラフ選択時の「ツール」メニューは
別物(中のメニュー項目が違う)にもかかわらず、
同じ「ツール」という名前なので、
区別不可だと思うのですが…。

【21513】Re:グラフ選択時の「ツール」メニューへ...
お礼  よっしー  - 05/1/22(土) 2:25 -

引用なし
パスワード
   ありがとうございます。できました。

なるほど、親のメニューバー自体が
"Worksheet Menu Bar"ではなくて
"Chart Menu Bar"なのですね。

ichinoseさん、IROCさん、ありがとうございました。

10496 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free