2009/03/28

Excel 2007 アドインでリボンメニューを作成する方法



このエントリーをはてなブックマークに追加

Excel 2007 のアドインでリボンメニューを作成できないかと調べてみました。

まず、Excel 2007 で新規文書を作成して、Excel マクロ有効ブック(*.xlsm)として保存します。ここでは、Sample.xlsm として保存します。

次に、Office 2007 文書のリボンメニューを簡単にカスタマイズできる Custom UI Editor Tool をダウンロードしてインストールします。*1

インストールが終了したら、Custom UI Editor を起動して Sample.xlsm を開きます。そして、Sample >> Custom Tab を選択し、タブの情報を追加して保存して Custom UI Editor を終了します。*2

Customuieditor_2 

自動で追加される情報は以下のようになります。リボンメニューのボタンをクリックすると、Callback 関数を呼び出すようになっています。

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="customTab" label="Custom Tab">
        <group id="customGroup" label="Custom Group">
          <button id="customButton" label="Custom Button" imageMso="HappyFace" size="large" onAction="Callback" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Sample.xlsm を起動すると、下図のように新しいタブがリボンメニューに追加されています。

Custotab

ただ、このままでは実装がないので、標準モジュールをブックに追加して、以下の Callback 関数を追加します。

Sub Callback(control As IRibbonControl)
  MsgBox "Hello!"
End Sub

変更後、ボタンをクリックすると正しくメッセージボックスが表示されるようになります。

Customuieditor2

これをアドインにするには、Excel アドイン(*.xlam) 形式でファイルを保存します。ここでは、Sample.xlam として以下に保存します。

  • C:\Users\ユーザー名\AppData\Roaming\Microsoft\AddIns

Excel 2007 の Office ボタン >> Excel のオプション >> アドイン >> 管理: Excel アドイン >> 設定から、Sample というアドインを有効にすると、先ほど作成したリボンメニューが追加され使用することができるようになります。

アドインを無効にすると、追加したリボンメニューも削除されます。

なお、リボンメニューで使用可能なアイコンにどのようなものがあるかは、以下の Icons Gallery で調べることができます。

Iconsgallery

*1 XML 形式で直接編集することも可能ですが、分かりづらいのでここではツールを利用しています。

*2 Custom UI Editor は日本語を扱えないため、ファイルの拡張子を zip に変更後、下記ファイルを直接編集します。編集が済んだら拡張しを元に戻してください。

  • customUI\customUI.xml

■関連サイト

   


スポンサーリンク


このエントリーをはてなブックマークに追加

Twitter ではブログにはない、いろんな情報を発信しています。


トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/14182/28849504

この記事へのトラックバック一覧です: Excel 2007 アドインでリボンメニューを作成する方法:

コメント

こんにちは。

やりたいことが、ここに記載されておりましたので、やってみました。
何回やってみても、リボンが追加されません。あと、*2の意味もわからないのですが、お時間がありましたらお教えください。

コメントを書く




プロフィール


  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。現在は趣味SE。興味ある技術を追いかけてます。

    Twitter では、ブログでは取り上げない情報も公開しています。




    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。

    >>ブログ詳細
    >>自作ツール
    >>運営サイト

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから

Amazon 人気書籍