• 締切済み

vb2010 Interop.Excelの参照

vb2010Express+XPでOffice 2003のエクセルを操作しようとしたところ、うまくいきません。他のXPマシンで試したところ問題なく動くのでコードの問題ではないようです。該当のマシンは秋葉原で買った英語版マシンで、Vistaからのダウングレードバージョンです。 もともとOffice2007がインストールされていた可能性もあります。【 Webで調べたところvb2010の参照設定で11.0 Object Libraryを選択しているのに12.0 Object Libraryへリダイレクトされてる可能性あり】。どなたかOfficeないし、レジストリの修復でMicrosoft.Office..Interop.Excelの参照設定を可能にする方法をご教示願えないでしょうか?  Excel.Applicationのインスタンスは作成されているようなのですが、WorkbooksをOpen、addしたり、あるいはApplicationをvisibleにすることが出来ません。 Excel.Applicationのインスタンスが生成されていてWorksheetsメンバやvisibleが使えないところは理解できないのですが...どなたかご経験のある方お助けいただければ幸甚です。

みんなの回答

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

そもそも複数バージョンのOfficeに対応させようと いうなら実行時バインディングにします。 > もともとOffice2007がインストールされていた可能性もあります。 アンインストールしたのにライブラリが残っているという事ですか? 「Office 完全アンインストール」あたりのキーワードに引っ掛かる 情報を試してみるとか。

qlmaster
質問者

お礼

ありがとうございます。 ずいぶん調べましたが、状況が良く似ているのがこのURLだったので http://social.msdn.microsoft.com/Forums/en-US/vbinterop/thread/6b793878-d94a-4a62-8817-dea1cab79377/ Office2007はアンインストールしてもレジストリの修正が必要というものです。 可能性は低いものの、購入したマシンはOffice2007が入っていたのをはずしてOfficeなし新品として売っていたものでは?と疑っています。(購入後自分でOffice2003をインストール) いずれにせよマシンが違うだけでOSもOfficeも設定が全く同じの別マシンで動くのではお手上げです。 最悪MSのプロフェッショナルサービスに聞くしかないと思っています。 高いですが。

qlmaster
質問者

補足

確かにLate Bindingが正解ですね。簡単なことが出来ないので無理に調べていましたが・・・

関連するQ&A