「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(マルチインストール)
続いて手順です。
- Office XPアプリケーション(今回はExcel)からVisual Basic Editorを起動します。
- ファイルメニューから「新しいプロジェクト」を選択します。
- “新しいプロジェクト“ダイアログから「アドイン プロジェクト」を選択してOKボタンをクリックします。
- AddIn Designerが表示されるので、”アドインの表示名“と”アドインの説明“を適当に入力し、”アプリケーション“は「Microsoft Word」、”アプリケーション バージョン“は「Microsoft Word 14.0」、”既定のロード方法“は「Startup」を選択します(Word以外のアドインを作成する場合は”アプリケーション“、”アプリケーション バージョン“欄をそれに応じて変更してください)。
- “AddInDesigner1“の右クリックメニューから「コードの表示」を選択します。
- ツールメニューの”参照設定“から「Microsoft Office 14.0 Object Library」と「Microsoft Word 14.0 Object Library」(手順4.でWord以外を選択した場合はそのアプリケーション)をチェックしてOKボタンをクリックします。
- コードペインに下記コードを貼り付け、プロジェクトを保存します。
- ファイルメニューからDLLを作成します。
- Word 2010(手順4.でWord以外を選択した場合はそのアプリケーション)を起動すると、ホームタブにグループとボタンが追加され、追加されたボタンをクリックすると指定したプロシージャが実行されることが確認できます。
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
以上で作業は終了で、上記の通り旧世代のDeveloper Toolsでもリボンに対応したCOMアドインを作成することができます。
今更Office XP Developer Tools!?といった感じはしますが、
・コードを隠蔽できる(VBAマクロに比べて)。
・配布用のセットアップファイルが簡単に作成できる。
といったメリットがあるので、活用方法次第では今でも出番はあるだろうと思います。
ただし、当然のことながらもう市販されていませんので、今となってはOffice XP + Developer Toolsが入手しづらい、といった難点はあります。
オークションでは数千~数万円で取引されているようですので、興味がある方は試してみてはいかがでしょうか?
この記事へのコメントはありません。