COM参照でこけたので備忘録

CSharp用のアイキャッチC#

どうも
長期開発中の社内管理ソフトで
いきなりバグが発生した
内容は
Microsoft.Office.Interop.Excelのバージョンが
違うため利用できない・・・
なんで??

スポンサーリンク

結果から言うと

開発環境の変化が原因でした。
以前開発に利用していたPCに
Office2003がインストールされていて
COM参照にMicrosoft Excel 11.0 Object Libraryを
利用していたのですが
Surfaceで開発環境完全移行を先日行い
Surfaceからアプリの発行を行ったところ
自動的にMicrosoft Excel 16.0 Object Libraryに変更されていました。

 

Office2003持ってない・・・

もちろんOffice2003をインストールなんて
面倒なことはせずに
Google先生に聞いたところ

ExcelをCOMを自力で用意する - 悲喜交々 -へたれの技術メモ置き場-
のである。ぶっちゃけ素直にエクセル使えといいたいが、セル機能実装を考えるとありがたい ものごっつ基礎からいくまずは、プロジェクトの参照設定にExcelのcomを追加する ここで開発機にExcelがないとcom一覧には(当然)Excelは表示されない。ガッデム 残念ながらExcelなんてブルジョアーじゃないので、こちらを...


こちらのページが見つかりました
このページの内容に従い
XPのCOMをダウンロードし
見事Microsoft.Interop.Excelをゲット!

参照内容の変更

今利用しているObject Libraryを変更する方法が
よくわからなかったので
ソリューションエクスプローラから
参照内の
・Microsoft.Interop.Excel
・Excel
を削除し
再度、参照を追加
追加したのは
・Microsoft.Interop.Excel(XPのCOM内)
・Office
の2つ
とりあえずデバッグ実行!!
問題なくビルドされ
Excelへのアクセスも問題なし!!

環境の変化は要注意!!

そんなこんなで
夜勤の人に印刷ができなかったと怒られましたが
無事、修復完了です。
まさかCOM参照が変わってたなんて
開発環境の移行はもう少し
慎重にやらなきゃだめですね

ちょっと休憩しませんか?

コメント

タイトルとURLをコピーしました