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の使用はお薦めできません。もしやるとしたら、自己責任でよろしくお願いいたします。)

関連記事

  1. Office関連

    ファイルをブックに埋め込むExcelマクロ

    大分前に書いた回答用のコードが出てきたので、記事として残しておきます。…

  2. アイコン一覧

    Office 2013 アイコン一覧(I)

    ・Office 2013 アイコン一覧 NUM…

  3. Office関連

    ルビ(ふりがな)を一括設定するWordマクロ

    2016/10/28 追記:改良版のマクロを書きました。…

  4. Office関連

    テキストボックスの中にある表を操作するWordマクロ

    Yahoo!知恵袋で、「Wordマクロでテキストボックスの中にある表の…

  5. アイコン一覧

    Office 365アイコン(imageMso)一覧を作成するにあたって

    Office 2013のアイコン一覧を公開してから4年ほど経ち、その間…

  6. アイコン一覧

    Office 2013 アイコン一覧(X,Y,Z)

    ・Office 2013 アイコン一覧 NUM…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP