「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以外を選択した場合はそのアプリケーション)を起動すると、ホームタブにグループとボタンが追加され、追加されたボタンをクリックすると指定したプロシージャが実行されることが確認できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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 & " <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が入手しづらい、といった難点はあります。
オークションでは数千~数万円で取引されているようですので、興味がある方は試してみてはいかがでしょうか?
この記事へのコメントはありません。