QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

Excelの参照設定でエラー

お世話になります。 おんたまと申します。

VS2005(C#)+Excel2003でWindowsアプリケーションを作成しようとしています。
とりあえず、事前バインディングを使用してテストプログラムを作ろうとプロジェクト作成後、参照設定より
「MicroSoft Excel 11.0 Object Library」を参照設定しました
すると以下のようなエラーがでて参照設定出来ませんでした
「タイプライブラリ"Excel"のラッパーアセンブリが見つかりません」
「参照コンポーネントが見つかりません」
ソリューションエクスプローラーの参照設定に表示される「Excel」には「!」マークが付いています

私のPCにはVB6.0及びVS2003も入っているのですが、双方とも正常に参照設定できています。
また、.NET Frameworkは1.1及び2.0が入っています。

VS2005のみエラーがでる原因に心当たりのある方はいらっしゃいませんでしょうか?

以上、お手数でがよろしくお願いいたします。

質問者:おんたま

回答

おんたまさんの書き込み (2007-05-21 17:56) より:

VS2005のみエラーがでる原因に心当たりのある方はいらっしゃいませんでしょうか?

とりあえず、相違点を見つけることくらいしか思いつかないですね。
参照設定に表示される Object Library までのパスを確認してみてください。

_________________C# と VB.NET の入門サイト
じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

おはようございます。
じゃんぬねっとさん、返信ありがとうございます。

VS2003とVS2005の参照設定を抜き出してみました
以下、Excelオブジェクトの参照設定と同時に追加される参照名とパスです。

【VS2003】
参照名:Excel
パス:D:\hogehoge\...\obj\Interop.Excel.dll
ローカルコピー:True

参照名:Microsoft.Office.Core
パス:c:\windows\assembly\gac\office\11.0.0.0__71e9bce111e9429c\office.dll
ローカルコピー:False

参照名:VBIDE
パス:c:\windows\assembly\gac\microsoft.vbe.interop\11.0.0.0__71e9bce111e9429c\microsoft.vbe.interop.dll
ローカルコピー:Flase

【VS2005】
参照名:Excel
パス:「空白」
ローカルコピー:Flase

参照名:Microsoft.Office.Core
パス:C:\WINDOWS\assembly\GAC\Office\11.0.0.0__71e9bce111e9429c\Office.dll
ローカルコピー:False

参照名:Office
パス:D:\hogehoge\...\obj\Debug\Interop.Office.dll
ローカルコピー:True

参照名:VBIDE
パス:C:\WINDOWS\assembly\GAC\Microsoft.Vbe.Interop\11.0.0.0__71e9bce111e9429c\Microsoft.Vbe.Interop.dll
ローカルコピー:Flase

双方の相違点といえば、VS2005のExcelの参照設定のパスが空白なこととローカルコピーが
Flaseに設定されていること
また、VS2005では参照設定にOfficeが存在していることです
尚、VS2005の方のExcelのローカルコピーをTrueに設定しなおしても数秒後にはFlaseに
戻ってしまいました。
どうもVS2005で参照するためのファイルがローカルにコピーできない(ファイルがない?)ような
動きにも見えます。

このくらいの情報でなにか解りますでしょうか?
よろしくお願いいたします。

投稿者:おんたま

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。