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 アドイン

    [Office用アプリ]JavaScript API for Office ライブラリ v1.1

    2014/01/24 追加記事を書きました。・JavaScript…

  2. Office関連

    Google Calendar APIを使って日本の祝日を取得するVBAマクロ

    祝日の一覧を用意する必要があったので、Google Calendar …

  3. Office関連

    指定したスライドにユーザー設定レイアウトを適用するPowerPointマクロ

    PowerPointにはオリジナルのレイアウト(ユーザー設定レイアウト…

  4. Office関連

    Adobe Readerを利用してPDFファイルのページ数を取得するVBAマクロ

    mougの回答用に書いたコードです。mougは半年でログが消えてし…

  5. Windows 10

    起動中のMicrosoft EdgeからタイトルとURLを取得するVBAマクロ(UI Automat…

    当ブログでは、Microsoft Edgeを外部から操作するプログラム…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP