Microsoft Office 2016 の PIA がない

Windows Forms で Excel を使ってアプリケーションを作っています。 Office 2016 をインストールしたのですが、参照設定に Excel が表示されなくて、設定できませんでしたので調べました。

環境

  • Windows 10 Pro
  • Visual Studio Community 2013
  • Microsoft Office 2016
  • Microsoft Office 2013

PIA?

Microsoft Office アプリケーションの機能を使用するには PIA が必要なようです。

Office プロジェクトから Microsoft Office アプリケーションの機能を使用するには、アプリケーションのプライマリ相互運用機能アセンブリ (PIA: Primary Interop Assembly) を使用することが必要です。 PIA によって、Microsoft Office アプリケーションの COM ベースのオブジェクト モデルと対話するマネージ コードを作成できるようになります。

Office プライマリ相互運用機能アセンブリ

インストールは次のようになるようです。

  1. .NET Framework のバージョンが 2.0 以降であることを確認します。

  2. Microsoft Office をインストールします。このとき、拡張するアプリケーションの .NET プログラミング サポート機能が選択されていることを確認します (この機能は既定のインストールに含まれています)。

方法 : Office のプライマリ相互運用機能アセンブリをインストールする

参照を追加するには次のようになるようです。

  1. Office プロジェクトを開き、ソリューション エクスプローラーでプロジェクト名を選択します。

  2. [プロジェクト] メニューの [参照の追加] をクリックします。

  3. [Framework] タブの [コンポーネント名] ボックスの一覧で、使用する PIA を選択します。 用意されている Microsoft Office プライマリ相互運用機能アセンブリの詳細については、「Office プライマリ相互運用機能アセンブリ」を参照してください。

  4. [OK] をクリックします。

方法 : プライマリ相互運用機能アセンブリを利用して Office アプリケーションを使用する

Visual Studio のバージョンによる相違があるからか、アセンブリ-フレームワークタブの中には Microsoft Office 関連が表示されないんですけど・・ Microsoft Office の参照があるのは COM-タイプライブラリになりますね。 でもここにも Microsoft Office 2016 である Microsoft Excel 16.0 Object Library はないですね。

だめそう

At the Moment there's no Office 2016 PIA. You have to reinstall Office 2013 and use that Office 15 PIA ‘til Microsoft has released the Office 2016 PIA.

answered Oct 19 ‘15 at 20:23


The last post for this topic is quite old now… any update about those Office 2016 PIA? I can't find any references about it…

Aug 30 at 14:01

vb.net - Upgrading to Office 2016 Reference Error: Microsoft.Office.Interop.Excel - Stack Overflow

2015/10/19 時点で Microsoft がリリースするまで Microsoft Office 2013 を使うべきって書き込みがあります。 が、2016/8/30 時点でも見つからないって書き込みがありますね。 リリースされることはないのか・・

Office 2013 の再インストール

仕方ないので、Microsoft Office 2013 を再インストールすることにしました。 Office 365 Solo のサブスクリプションを使用しているので、次のリンクを参考に、Microsoft Office 2016 のアンインストールと、Microsoft Office 2013 のインストールをしました。

Office 2016 のアップグレード後に Office 2013 を再インストールする - Office のサポート

終わり

Visual Studio で Excel を使うことってこれからもあまり需要がなさそうということなのかな。 VSTO の場合は Microsoft Office 2016 を使っているような書き込みも見られたのですが、参照設定に関するところは本当に Microsoft Office 2016 だけインストールした状態なのか?までは把握できませんでした。 VSTO は使ったことがなくて、普通に Windows Forms のソリューションから使っているだけなので実際のところはわからないですけど。