作成したプログラムは、最初に参照でMicrosoft Excel 15.0 Object LibraryとかMicrosoft Office 15.0 Object Libraryを指定したせいか、別のPC(旧Officeがインストールされている)で実行するとfilenotexceptionが発生して動作しないのが現状です。
現在のコードは破棄してEPPlus( http://epplus.codeplex.com/ )やNPOI( http://npoi.codeplex.com/ )で動作するよう組みなおさないといけないのか迷っています。
よろしくお願いいたします。
オートメーションの事前バインディングの制約により、
新しいバージョンのOfficeが入った環境でビルドした場合、
古いバージョンのOfficeが入った環境で動作させることは出来ません。
対応案としては、
の2通りかと思います。
■ 全ては時の中に… : 【VB.NET】Officeのバージョンに極力依存しないコードの作成
http://blog.livedoor.jp/akf0/archives/51300168.html
■ VB2005 Excel操作 (遅延バインディングを使う方法): T_Nary ブログ
http://nary.cocolog-nifty.com/blog/2009/11/vb2005-excel-2c.html
以下は参考情報です。
■ Visual Basic .NET による Office オートメーション サーバーでのバインディング
http://support.microsoft.com/kb/304661/ja
エラーが出るのは、やはり、参照設定が残っている為と思われます。
2013/07/26 00:04:00以下の何れかのツールを用いて「Microsoft.Office.Interop.Excel」が設定されていないことを確認してみてください。
設定されている場合、参照設定がまだ残っていると思われます。
・ildasm(http://msdn.microsoft.com/ja-jp/library/f7dy01k1.aspx)
・ILSpy(http://ilspy.net/)
cx20さん、根気強く付き合ってくださりありがとうございました。
2013/07/26 10:55:29自分はと言いますと、申し訳ないのですが心が折れてしまったので、結局EPPlusで組みなおしました。
Excel2003フォーマットに対応していないのは残念ですが、Excelオートメーションクライアントと比較して、きちんと計測はしていませんけど数倍処理が早い印象でビックリしました。
また別の機会がありましたら、よろしくお願いいたします。