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が入手しづらい、といった難点はあります。
オークションでは数千~数万円で取引されているようですので、興味がある方は試してみてはいかがでしょうか?

プログラムのソースコードを別の言語に変換するVBAマクロ前のページ

Outlookで返信作成時に件名に自動的に付加される「RE:」を「Re:」にするOutlookマクロ次のページ

関連記事

  1. Excel

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

    前回の記事で、UI Automationを使って起動中のMicroso…

  2. Office関連

    テーブルの罫線色情報を列挙するPowerPointマクロ

    テーブルが多いプレゼンテーションファイルの、各テーブルの線の色の情報を…

  3. Office関連

    Office クリップボードをマクロで操作する(MSAA)

    MSDNフォーラムに質問がありましたが、Office クリップボードを…

  4. Office関連

    Officeアプリケーションの「最近使用したファイル」を削除するVBScript

    WordやExcel等のOfficeアプリケーションでは、下記サイトに…

  5. Office関連

    Office 2010のオブジェクトリスト

    オブジェクト ブラウザーから取得できる、各Office 2010アプリ…

  6. Office関連

    オフライン版のOffice 2016 VBAリファレンスが公開されました。

    「ヘルプファイル版のOffice 2013開発者用リファレンスが公開さ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP