• ベストアンサー

エクセル2007で自前のツールバーを作る方法

エクセル2000です。 以下のマクロで自前の新しいツールバーが作れ、作動します。 ところがエクセル2007ではうんともすんとも言ってくれません。 エクセル2007で使う場合はどのようにしたらよいでしょうか? ユーザーフォームで似たようなものを作る方法はわかるのですが、できれば以下の方法を使いたいのです。 Sub 三択メニュー() On Error Resume Next Application.CommandBars("選択します").Delete On Error GoTo 0 Application.CommandBars.Add Name:="選択します", Position:=msoBarFloating With Application.CommandBars("選択します") .Visible = True .Controls.Add Type:=msoControlButton With .Controls(1) .Style = msoButtonCaption .Caption = "⇒メニュー1 " .OnAction = "Msg_1" End With .Controls.Add Type:=msoControlButton With .Controls(2) .Style = msoButtonCaption .Caption = "⇒メニュー2 " .OnAction = "Msg_2" End With .Controls.Add Type:=msoControlButton With .Controls(3) .Style = msoButtonCaption .Caption = "⇒メニュー3 " .OnAction = "Msg_3" End With End With End Sub Sub Msg_1() Application.CommandBars("選択します").Delete MsgBox "追加コマンド1を処理しました。" End Sub Sub Msg_2() Application.CommandBars("選択します").Delete MsgBox "追加コマンド2を処理しました。" End Sub Sub Msg_3() Application.CommandBars("選択します").Delete MsgBox "追加コマンド3を処理しました。" End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

2007からリボンインターフェースになっているのでツールバーは直接操作できません。 コードをチェックしてませんがもし表示されたコードが2003でちゃんとツールバーが表示されるのならリボンに「アドイン」タブがあるはずです。 これをクリックするとツールバーのようなものが表示され2003と同じように操作できます。

merlionXX
質問者

お礼

アドインという「リボン」が出来たことすら気づきませんでした。 仰せのとおり、アドイン内のボタンを押したところ作動しました。 しかし、これじゃ使いものにはなりません。 マイクロソフトも「リボン」なんて何を考えてこんな最低な改悪を・・・・。

その他の回答 (3)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.4

>2007ではツールバーがないですもんねえ・・・  ん??? どうも意図するところが伝わらなかったような。。。(^^;;;   ま、それは置いといて、気づいた点をひとつ。 質問のコードではアドインタブは自動的にOnにならないようなので Onにするコードを入れておいた方がよさそうな。。。 (xl2007が手元にないので確認できてませんが)

merlionXX
質問者

お礼

理解の悪い質問者で申し訳ないです。 ご教示のサイトの以下の記述で納得してしまったのですが・・・・。 リボンの末尾に「アドイン」というタグが追加され、「ユーザー設定のツールバー」グループとしてボタンが登録される。考えてみれば当たり前の結果だ。Excel 2007では、ツールバーという機能そのものが削除されてしまったのだから、いくらマクロからとはいえ追加することはできない。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 そのままマクロを実行すれば、アドイン・タブに表示されるのはご存知のことだと思います。 私自身は、クイックツール・アクセスバーをカスタマイズすればよいと思っています。手の込んだことはしません。簡単に登録できますので十分だと思っています。 また、他の方法としては、当初は、VSTO やVS2008 Proが必要だと思いましたが、Fluent UIにこだわるようなら、こちらにまとめましたので、参考にしてください。 http://oshiete1.goo.ne.jp/qa5009702.html エクセル2003で作成したVBAを2007で使用したい

merlionXX
質問者

お礼

いつもお世話になりありがとうございます。 そのままマクロを実行すれば、アドイン・タブに表示されるのは今回質問して初めて知りました。 ご提示のリボンのカスタマイズなんてわたしにはとてもできそうにありません。 今回はあきらめます。 ありがとうございました。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

  灰神楽の町からこんにちは。(^^;;; 下記サイトなど参考になるでしょう。   http://pc.nikkeibp.co.jp/article/NPC/20060727/244547/ また、「VBA excel2007 ツールバー」などで検索してみるのもありかと。 以上です。  

merlionXX
質問者

お礼

ありがとうございます。 2007ではツールバーがないですもんねえ・・・。