アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル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

A 回答 (4件)

2007からリボンインターフェースになっているのでツールバーは直接操作できません。


コードをチェックしてませんがもし表示されたコードが2003でちゃんとツールバーが表示されるのならリボンに「アドイン」タブがあるはずです。
これをクリックするとツールバーのようなものが表示され2003と同じように操作できます。
    • good
    • 0
この回答へのお礼

アドインという「リボン」が出来たことすら気づきませんでした。
仰せのとおり、アドイン内のボタンを押したところ作動しました。

しかし、これじゃ使いものにはなりません。
マイクロソフトも「リボン」なんて何を考えてこんな最低な改悪を・・・・。

お礼日時:2009/09/08 14:42

>2007ではツールバーがないですもんねえ・・・



 ん???

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

理解の悪い質問者で申し訳ないです。
ご教示のサイトの以下の記述で納得してしまったのですが・・・・。

リボンの末尾に「アドイン」というタグが追加され、「ユーザー設定のツールバー」グループとしてボタンが登録される。考えてみれば当たり前の結果だ。Excel 2007では、ツールバーという機能そのものが削除されてしまったのだから、いくらマクロからとはいえ追加することはできない。

お礼日時:2009/09/09 09:11

こんにちは。



そのままマクロを実行すれば、アドイン・タブに表示されるのはご存知のことだと思います。

私自身は、クイックツール・アクセスバーをカスタマイズすればよいと思っています。手の込んだことはしません。簡単に登録できますので十分だと思っています。

また、他の方法としては、当初は、VSTO やVS2008 Proが必要だと思いましたが、Fluent UIにこだわるようなら、こちらにまとめましたので、参考にしてください。

http://oshiete1.goo.ne.jp/qa5009702.html
エクセル2003で作成したVBAを2007で使用したい
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/09/08 16:43

 


灰神楽の町からこんにちは。(^^;;;

下記サイトなど参考になるでしょう。
 
http://pc.nikkeibp.co.jp/article/NPC/20060727/24 …


また、「VBA excel2007 ツールバー」などで検索してみるのもありかと。
以上です。
 
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/09/08 14:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!