Office関連

Office XP Developer Toolsでリボン対応のCOMアドインを作成する。

Visual Basic 6でリボン対応のアドインを作成する」ではVisual Basic 6でリボン・カスタマイズしたCOMアドインの作成方法を紹介していますが、今回はOffice XP Developer Toolsでリボン対応のCOMアドインを作成してみます。

まずは環境の紹介から。

OS:Windows XP
Office:Office XP Professional + Office XP Developer Tools, Office Professional Plus 2010(マルチインストール)

続いて手順です。

  1. Office XPアプリケーション(今回はExcel)からVisual Basic Editorを起動します。
  2. ファイルメニューから「新しいプロジェクト」を選択します。
  3. 新しいプロジェクト“ダイアログから「アドイン プロジェクト」を選択してOKボタンをクリックします。
  4. AddIn Designerが表示されるので、”アドインの表示名“と”アドインの説明“を適当に入力し、”アプリケーション“は「Microsoft Word」、”アプリケーション バージョン“は「Microsoft Word 14.0」、”既定のロード方法“は「Startup」を選択します(Word以外のアドインを作成する場合は”アプリケーション“、”アプリケーション バージョン“欄をそれに応じて変更してください)。
  5. AddInDesigner1“の右クリックメニューから「コードの表示」を選択します。
  6. ツールメニューの”参照設定“から「Microsoft Office 14.0 Object Library」と「Microsoft Word 14.0 Object Library」(手順4.でWord以外を選択した場合はそのアプリケーション)をチェックしてOKボタンをクリックします。
  7. コードペインに下記コードを貼り付け、プロジェクトを保存します。
  8. Option Explicit
    
    Implements IRibbonExtensibility
    Private WithEvents App As Word.Application
    
    Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
      Set App = Application
    End Sub
    
    Private Function IRibbonExtensibility_GetCustomUI(ByVal RibbonID As String) As String
      Dim s As String
      
      s = "<?xml version=""1.0"" encoding=""utf-8""?>" & vbCrLf
      s = s & "<customUI xmlns=""http://schemas.microsoft.com/office/2006/01/customui"">" & vbCrLf
      s = s & "  <ribbon>" & vbCrLf
      s = s & "    <tabs>" & vbCrLf
      s = s & "      <tab idMso=""TabHome"">" & vbCrLf
      s = s & "        <group id=""grpSample"" label=""サンプル グループ"">" & vbCrLf
      s = s & "          <button id=""btnSample"" label=""サンプル ボタン"" imageMso=""HappyFace"" size=""large"" onAction=""btnSample_onAction"" />" & vbCrLf
      s = s & "        </group>" & vbCrLf
      s = s & "      </tab>" & vbCrLf
      s = s & "    </tabs>" & vbCrLf
      s = s & "  </ribbon>" & vbCrLf
      s = s & "</customUI>"
      IRibbonExtensibility_GetCustomUI = s
    End Function
    
    Public Sub btnSample_onAction(control As IRibbonControl)
      MsgBox App.ActiveDocument.FullName, vbInformation + vbSystemModal
    End Sub

  9. ファイルメニューからDLLを作成します。
  10. Word 2010(手順4.でWord以外を選択した場合はそのアプリケーション)を起動すると、ホームタブにグループとボタンが追加され、追加されたボタンをクリックすると指定したプロシージャが実行されることが確認できます。

以上で作業は終了で、上記の通り旧世代のDeveloper Toolsでもリボンに対応したCOMアドインを作成することができます。
今更Office XP Developer Tools!?といった感じはしますが、

・コードを隠蔽できる(VBAマクロに比べて)。
・配布用のセットアップファイルが簡単に作成できる。

といったメリットがあるので、活用方法次第では今でも出番はあるだろうと思います。
ただし、当然のことながらもう市販されていませんので、今となってはOffice XP + Developer Toolsが入手しづらい、といった難点はあります。
オークションでは数千~数万円で取引されているようですので、興味がある方は試してみてはいかがでしょうか?

関連記事

  1. Office関連

    Microsoft MVP for Outlook を初受賞しました。

    2010年7月から「Office System」分野でMicrosof…

  2. Office関連

    Excel REST APIをPowerShellから呼び出す方法

    以前Excel REST APIをVBAから呼び出す方法を紹介しました…

  3. Office関連

    アラビア文字かどうかを判別するWordマクロ

    以前mougの質問用に書いたコードが出てきたので、一部修正しました。…

  4. Office関連

    [リボン・カスタマイズ]splitButton要素で大量にある項目を使いやすくまとめる。

    「既存の機能の代わりにマクロを実行する」でコメント(下記)をいただきま…

  5. Office関連

    [リボン・カスタマイズ]ユーザー名により表示するメニューを切り替える。

    今回はリボンをカスタマイズして、ファイルを開いたユーザー名によって表示…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP