Excel VBAメモ オリジナルなリボンメニューのタブとボタンを追加してみる
最近用事があって試したのでメモ。
だいたいのポイントとしてはこんな感じ。
- xlsmファイルの拡張子をzipに変更して展開する
- リボンメニューの定義をするXMLファイル(xmlファイル)を作成する
- リレーションシップの定義をするファイル(.relsファイル)を編集する
- zipファイルに圧縮する
- 拡張子を元のxlsmに戻す
まずは、Excelファイルのリボンメニューのタブを追加する。
-
-
- xlsmファイルの拡張子をzipに変更する。
- zipファイルを展開する。
- リボンメニュー用のファイルを保存しておくフォルダーを作成する。
今回作成するフォルダーの名前はcustomUIって名前した。
- customUIフォルダーにリボンメニューの定義をするXMLファイルを作成する。
今回作成するファイルの名前はcustomUI.xmlって名前にした。
作成するファイルの内容はこんな感じ。
※呼び出すメソッドはとりあえずClickButtonって名前にしとく。<?xml version="1.0" encoding="utf-8" ?> <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab id="ProtoTab" label="タブの名前"> <group id="ProtoGroup" label="グループの名前"> <button id="ProtoButton" label="ボタン" size="large" imageMso="Help" onAction="ProtoModule.ClickButton" /> </group> </tab> </tabs> </ribbon> </customUI>
- _relsフォルダーにある.relsファイルにcustomXMLファイルの場所を相対パスで追記して保存する。
修正する内容はこんな感じ。
※Hereのコメントがあるすぐ次の1行が追加した行になる<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/> <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/> <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/> <!-- Here --> <Relationship Id="customUIRelID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/> </Relationships>
- zipファイルに圧縮する
※Windowsの右クリックメニューで圧縮する場合はファイルの選択位置を
- 圧縮したファイルの拡張子をzipからxlsmに変更する。
- xlsmファイルの拡張子をzipに変更する。
-
今回は呼び出すマクロはとりあえずこんな感じにした。
ボタンをクリックするとメッセージダイアログを表示するって動作のはず。
' ' タブのボタンをクリックしたときのイベント ' Sub ClickButton(control As IRibbonControl) MsgBox "ボタンをクリックしちゃった..." End Sub
で、動作を確認してみる。
ファイルを開くとこんな感じ。
タブが「タブの名前」ってタイトルで追加されとる。
追加したタブを表示するとこんな感じ。
ボタンが「ボタン」って名前で追加されとる。
ボタンをクリックするとこんな感じでメッセージボックスが表示される。
ちなみに作ったファイルはここからダウンロードして…。
そんなこんなで、メモってことで。
ディスカッション
コメント一覧
まだ、コメントがありません