- ベストアンサー
VBAでリボンに新しいタブを追加する方法
- VBAを使用してエクセル2010のリボンに新しいタブを追加したい場合、マクロの記録ではできないことがあります。
- 2003の時に使われていたコードではリボンの追加ができない場合があります。
- エラーが発生し、プロシージャの呼び出しや引数に問題がある可能性があります。解決方法を探しましょう。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
復習してみました。xl2010用のオリジナルリボンの作り方です。 1.ファイル/オプション/詳細設定で「アドインユーザーインターフェースに関するエラーを表示する」にチェックを入れます 2.新規ファイルを作成し、標準モジュールに次のコードを書き込みます。(リボンから呼ばれる時の引数をお忘れ無く) Sub test(control As IRibbonControl) MsgBox "Hello World!" End Sub 3.MyTab.xlsm等任意の名前・マクロ有効で保存し、閉じます。 4.3のファイル名の末尾に.zipをつけ、MyTab.xlsm.zipと改名します。 5.ファイルアイコン上で右クリックしてプログラムから開く/エクスプローラを選びます 6.圧縮フォルダとして開かれるので_relフォルダ内の.relsファイルをデスクトップにコピーします。コピーしたものでないと編集できません。 7.コピーした.relsファイルをテキストエディターで開きます。 8.最後の</Relationships>の前に、 <Relationship Id="someID" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>の行を追加します。元の場所に書き戻します。 9.デスクトップにcustomUIというフォルダーを作成します。テキストエディターで下記の内容のファイルを作成し、customUI中に、customUI14.xmlという名前で保存します。(UTF-8,CR+LFで保存しないと全角文字を使った時に化けるそうです)。 <?xml version="1.0" encoding="utf-8"?> <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <ribbon> <tabs> <tab id="CustomTab" label="My Tab"> <group id="SimpleControls" label="My Group"> <button id="Button1" imageMso="HappyFace" size="large" label="Large Button" onAction="Test" /> </group> </tab> </tabs> </ribbon> </customUI> 10.customUIフォルダーを、圧縮フォルダー内にコピーします。_relフォルダー内では無く、並びにコピーします。 11.MyTab.xlsmと改名します 12.このファイルを開くと、My Tabという新しいタブが出来ており、スマイルアイコンが一個入っています。実行するとHello World!が表示されます。 アドインにして組み込めばいつでも、または別のPCに持っていっても使用できます。 詳細は、下記Webサイト等でお勉強して下さい。 http://homepage2.nifty.com/suyamsoft/Ribbon/index.html http://www.ka-net.org/ribbon/ri01.html
お礼
ありがとうございました。