1

最近、を使用する小さなツールを開発しましたMicrosoft.Office.Excel.Interop。Referencesフォルダーによると、MicrosoftExcel14.0オブジェクトライブラリへの参照を追加しました。また、自分のマシンにMS Office 2010があるので、ツールはそこで問題なく動作します。

ただし、自分のマシンにツールをインストールしようとしているクライアントユーザーがいて(どうやら彼はMS Office 2003をインストールしているようです)、エラーメッセージが表示されます。

Microsoft Excel 12.0オブジェクトライブラリをダウンロードし、その参照をツールに追加して、MSExcel14とMSExcel12の両方を参照できるようにすると、問題が発生するのではないかと思いました。...それをすることは意味がありますか?

繰り返しになりますが、私は.NETにかなり慣れておらず、私のプログラミング経験は、学校がない場合と同様に、純粋に経験的なものです。これがばかげた質問である場合に備えて、ただ注意してください。

編集:

この問題を解決しているように見えるものを見つけました。クライアントに次のリンクからファイルをダウンロードしてもらいました: http: //www.microsoft.com/en-us/download/details.aspx?id = 3508

次に、下部の指示に従うだけで、これで問題が解決したようです。彼はツールをインストールして問題なく実行することができました。

4

2 に答える 2

3

私が見つけた最善の解決策は、サポートしたいオフィス相互運用ライブラリの最も古いバージョンがインストールされているビルド マシンとして仮想マシンを使用することです。開発マシンで複数の相互運用バージョンを使用して開発しようとすると、多くの問題に遭遇しました。

Microsoft は、複数の Office バージョンのクライアントを構築するためのガイダンスを提供していますが、私の特定のユース ケースでは面倒すぎることがわかりました。

http://support.microsoft.com/default.aspx?kbid=244167

また、オープン ソースの EP Plus などの代替ライブラリを使用して、Interop を完全にスキップすることを検討することもできます。個人的にはまだ試していませんが、有望そうです。

http://epplus.codeplex.com/

于 2013-01-14T17:36:54.980 に答える
0

Interops のバージョンにはいくつかの違いがあります。新しいバージョンで追加された一部のメンバーを使用する場合、古いバージョンは機能しません。たとえば、Interop バージョン 14 で追加されたすべての機能のリストを次に示します。

http://msdn.microsoft.com/en-us/library/office/ff194938(v=office.14).aspx

これらのメンバーは古いバージョンでは使用できなかったため、これらのいずれかを使用すると、アプリケーションは古いバージョンでは動作しません。

于 2013-02-18T21:22:09.103 に答える