Office関連

Windows 10 Technical PreviewにインストールしたOffice XP DeveloperでCOMアドインを作ってみた。

先日、Windows 10 Enterprise Technical Preview(32ビット版)にOffice XPをインストールしたことについて記事を書きました。

実はアレは前振りで、本題はコレ↓です。

“Windows 10 Technical PreviewにインストールしたOffice XP Developerで最新版OfficeのCOMアドインは作れるのかどうか?”

2年ほど前に「Office XP Developer Toolsでリボン対応のCOMアドインを作成する。」で、Windows XP上のOffice XP DeveloperでOffice 2010用のCOMアドインを作ることはやったのですが、それを今回はWindows 10 Technical Preview(以下Windows 10 TP)でやってみよう、というわけです。

最新版Officeのインストール

2015年2月時点では、Office製品の最新版は“2013”です。
まずはこれを、Office XP DeveloperがインストールされたWindows 10 TPにインストールします。

Windows10TP_OfficeXP_Dev_01

Windows10TP_OfficeXP_Dev_02

Windows10TP_OfficeXP_Dev_03

Windows10TP_OfficeXP_Dev_04

インストールしたのは「Office 365 Solo」ですが、上図の通り、何の問題もありませんでした。

COMアドインの作成

Office製品のマルチインストールが終わったので、今度はOffice XP Developerによるアドイン作成です。

  1. Office XPのVBEを起動(管理者権限)し、「ファイル」メニューから「新しいプロジェクト」をクリックします。
  2. Windows10TP_OfficeXP_Dev_05

  3. 新しいプロジェクトダイアログから「アドイン プロジェクト」を選択し、「OK」ボタンをクリックします。
  4. Windows10TP_OfficeXP_Dev_06

  5. AddIn Designerが表示されるので、各項目を設定します。
  6. Windows10TP_OfficeXP_Dev_07

  7. アプリケーション バージョン」が「10.0」(Office XP)以外選択できないようになっていますが、このまま続行します。
  8. Windows10TP_OfficeXP_Dev_08

  9. AddInDesigner1」の右クリックメニューから「コードの表示」を選択します。
  10. Windows10TP_OfficeXP_Dev_09

  11. ツール」メニューの「参照設定」から「Microsoft Office 15.0 Object Library」と「Microsoft Word 15.0 Object Library」(今回はWord用のアドインを作成しているため)をチェックして「OK」ボタンをクリックします。
  12. Windows10TP_OfficeXP_Dev_10

  13. コードペインに下記コードを貼り付け、プロジェクトを保存します。
  14. Option Explicit
    
    Implements IRibbonExtensibility
    Private WithEvents wdApp 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 wdApp = Application
    End Sub
    
    Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
      Set wdApp = Nothing
    End Sub
    
    Public Sub btnSample_onAction(control As IRibbonControl)
      On Error Resume Next
      wdApp.ActiveDocument.Range.InsertBefore "呼び出し元のコントロールIDは「" & control.Id & "」です。"
      wdApp.CommandBars.ExecuteMso "About"
      On Error GoTo 0
    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 id=""tabSample"" label=""サンプル タブ"">" & 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

    Windows10TP_OfficeXP_Dev_11

  15. ファイル」メニューからDLLを作成します。
  16. Windows10TP_OfficeXP_Dev_12

    Windows10TP_OfficeXP_Dev_13

  17. Word 2013を起動すると、COMアドインで設定した「サンプル タブ」が表示され、「サンプル ボタン」をクリックすると、指定したプロシージャ(btnSample_onAction)が実行されることが確認できます。
  18. Windows10TP_OfficeXP_Dev_14

以上の通り、

“Windows 10 Technical PreviewにインストールしたOffice XP Developerで最新版OfficeのCOMアドインを作ることができました。”

サポートライフサイクルがとっくに終了したOffice XPを使うことは、正直お薦めできるものではありませんが、COMアドイン(しかもリボン・カスタマイズも可)が簡単に作成できる環境は魅力的と言えば魅力的です。

ヤフオク!Amazonから、まだOffice XP Developerを入手できるようですので、試してみたいという奇特な方は是非試してみてください。

(繰り返しになりますが、サポートが切れたOffice XPの使用はお薦めできません。もしやるとしたら、自己責任でよろしくお願いいたします。)

SharpDevelopでExcel用COMアドインを作成する方法前のページ

[VBA]桁を揃えてDebug.Printする。次のページ

関連記事

  1. Windows関連

    [Windows 8.1]起動時にデスクトップを表示する。

    ※ 下記はWindows 8.1 RTM(日本語版・64ビット)に基づ…

  2. Office関連

    Excel 2016でUTF-8のCSVファイルがサポートされるようになりました。

    Office 2016の10月の機能更新によって、ExcelでUTF-…

  3. Windows 10

    AppUserModelId(AUMID)を列挙するVBScript

    「「ファイル名を指定して実行」からMicrosoft Edgeを起動す…

  4. アイコン一覧

    Office 365アイコン(imageMso)一覧(Q)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP