Microsoft 製品に組み込まれている Visual Basic の実装。
こんにちは。
SetCustomUIメソッドを引き合いに出されているところを見ると、リボンをVBAで動的に変更したい、ということだと思いますが、SetCustomUIメソッドはExcelにはありませんので実行できません。
リボン全体を動的に変更することもExcel VBAの範疇ではできないのですが、dynamicMenu要素のgetContent属性のコールバックを利用すれば、リボンの一部を動的に変更することは可能です。下記ページでサンプルを載せていますので、そちらが参考になるかと思います。
「メニューの内容を動的に変更する」
http://www.ka-net.org/ribbon/ri70.html
「リボン上のメニューからテンプレートを選択する(Word)」
http://www.ka-net.org/ribbon/ri71.html
「外部のXMLファイルを読み込み、ユーザー名に応じてmenu内容を変更する」
http://www.ka-net.org/blog/?p=196
「menu内にあるbuttonの数を増やす」
http://www.ka-net.org/blog/?p=207
「リボンからプリンタを選択して簡単に印刷できるようにする(Word)」
http://www.ka-net.org/blog/?p=234
上記ページにある通り、getContent属性を利用することで外部のXMLを読み込むことや、動的に作成したXMLを読み込むことが可能になりますので、メニュー(dynamicMenu要素)部分を外部のXMLファイルから読み込むようにしておけば、元となるxlamファイルを編集することなくリボン(の一部)を変更することができるようになります。
もし、上述の"リボンを動的に変更したい"ということではなく、"リボン・カスタマイズしたファイルをマクロで作成したい"ということであれば、XML編集とZip形式での圧縮機能を実装することになるだろうと思います。
(こちらも不可能ではありません。)