質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

1回答

43880閲覧

【.NET】Microsoft.Office.Interop.Excel.dll 『for 2016』?

sute

総合スコア25

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2016/08/01 05:37

編集2022/01/12 10:55

Excel2013(ver 15.0) をメインとして使用するC#のWPFアプリケーションを開発していました。
Excel2016(ver 16.0) にも対応させたいので、開発用のマシンに Excel2016 をインストールしました。
Visual Studio の参照マネージャから参照の更新をする必要があると思っていたので、
Microsoft.Office.Core
Microsoft.Office.Interop.Excel.dll
の参照を一度削除し、参照の追加→COM から画像の項目にチェックを入れました。
(Excel2013 の参照を追加する時も同様の手順で行っていました)
イメージ説明
その後オブジェクトブラウザーから Microsoft.Office.Interop.Excel.dll のアセンブリのパスを確認したのですが、Excel2013 の時に使用していたdllファイルと同じもののように見えます。
イメージ説明

Office16.0バージョンの PIA は、Office15.0バージョンの PIA と同じものだという認識でよいのでしょうか?(PIA というより Microsoft.Office.Interop.Excel.dll ?)
Nugetでパッケージを検索しても、Microsoft.Office.Interop.Excel.dll は Excel2013対応版しか出てきませんし…。

また、このプロジェクトを別のマシンに導入しているJenkinsを利用してビルドした時に、エラーが発生してビルド出来ませんでした。
ビルド時のログを見ると、Interop.Excelの参照が見つからないようなのです。
この場合、プロジェクトをビルドするマシン全てにExcel2016が入っている必要があるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

また、このプロジェクトを別のマシンに導入しているJenkinsを利用してビルドした時に、エラーが発生してビルド出来ませんでした。

ビルド時のログを見ると、Interop.Excelの参照が見つからないようなのです。
この場合、プロジェクトをビルドするマシン全てにExcel2016が入っている必要があるのでしょうか?

Excelのオブジェクトを参照設定している場合、ビルドするマシン全てに同じバージョンの
Excelがインストールされている必要があります。

これを事前バインディングと呼びのに対して、参照設定せずに実行時にオブジェクトを参照
することを実行時バインディングと呼びます。

VBプログラムで開発環境と実行環境のExcelのバージョンが異なるとき

上のページにあるように実行時バインディングは多少制約がありますが、Excelがインストール
されていなくてもビルド可能となり、異なるバージョンのExcel環境でも実行可能となります。

投稿2016/09/05 02:19

編集2016/09/06 10:48
Tipo

総合スコア239

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

twck

2016/09/06 10:30

> 上のページにあるように事前バインディングは多少制約がありますが、 この部分は「事前バインディング」ではなく「実行時バインディング」の書き間違いですね。 実行時バインディングならExcelの無い環境でもビルド可能です。
Tipo

2016/09/06 10:50

フォローありがとうございます! 書込みを訂正させて頂きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問