トップ回答者
VB.netでのExcelファイル保存について

質問
-
VB.net 2005でMS ACCESSよりデータを取得してExcelに保存するプログラムを作成しています。
下記のサイトを参考にして、プログラムを作成し、開発環境のPCでは問題なく動作したのですが、サーバ環境ではエラーが発生してしまいます。
MicroSoft Excel 11.0 Object Library を参照追加(COM)していますが、サーバのExcelが2000というのが問題なのでしょうか?
Excel保存する別の方法を知っている方がいればお教えください。
<参照サイト>
http://support.microsoft.com/kb/306022/
http://www.bcap.co.jp/hanafusa/dotnet/Excel01.htm
<開発環境>
Windows XP Pro
Visual Studio 2005
Excel 2003
<サーバ環境>
Windows Server 2003
Excel 2000
<エラー>
System.Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. 指定されたファイルが見つかりません。
File name: 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
回答
-
Excelのバージョンの差だと思います。
Excel2000だと、確か8.0だったかと。
未確認情報
レイトバインディングにすればできるかも。
または、DAOを介して行うとか
VB6.0のサンプル
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t16.htm
http://ayusya.hp.infoseek.co.jp/ProgramVBExcel.html
-
Office PIA を利用する時は、同じバージョンの PIA を利用することが原則です。
ちなみに、サーバー側でのオートメーションの利用は...- Office のサーバーサイド オートメーションについて (microsoft.com)
すべての返信
-
Excelのバージョンの差だと思います。
Excel2000だと、確か8.0だったかと。
未確認情報
レイトバインディングにすればできるかも。
または、DAOを介して行うとか
VB6.0のサンプル
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t16.htm
http://ayusya.hp.infoseek.co.jp/ProgramVBExcel.html
-
Office PIA を利用する時は、同じバージョンの PIA を利用することが原則です。
ちなみに、サーバー側でのオートメーションの利用は...- Office のサーバーサイド オートメーションについて (microsoft.com)
-
上記質問の続きです。
Excel2003がインストールされている別のPC(仮にPC_Aとする)に .net Framework 2.0をインストールして、Excel出力を行う実行ファイル(EXE)を起動したところ、上記と同様のエラーが発生してしまいました。
試しに、参照追加したMicroSoft Excel 11.0 Object Library の設定で「ローカルにコピー」をTrueに変更し、実行ファイル(EXE)とコピーされたdllを、PC_Aにコピーして実行したところ、正常にExcel出力されました。
参照設定の「ローカルにコピー」をFalseして実行ファイル(EXE)を作成すると、別のPCではdllを参照することができないのでしょうか?
どなたか知っている方がいればお教えください。