私は VB.NET 2.0 実行可能ファイルを持っており、これを使用して毎日多数の Excel ファイルを作成しています。この時点まで、Office 2007 がインストールされた (および Office 2007 相互運用機能を使用して) XP ボックスで実行されていました。それは何年もの間うまくいきました。
最近、ボックスが故障し、同じく Office 2007 を実行している Windows 7 ボックスにアップグレードされました。その後、コード内のランダムなポイントで SaveAs 関数中に断続的なエラーが発生し始めました。
これが意味することは、エラーがまったく発生しない場合があるということです。コードは問題なく実行されます。しかし、(たとえば) 20 番目のファイルで名前を付けて保存しようとしている場合があります (複数のループによって作成された複数の異なる種類のデータを含むファイルが多数あります)。そして、(たとえば)50番目のファイルで発生することがあります。
ほぼすべての点で完全にランダムです。私はそれを追跡することができないようです。
ここにあるものを含むいくつかの解決策を試しました: System.Runtime.InteropServices.COMException (0x800A03EC)
...その答えは Office Interop 2003 (2007 ではありません) に対するものですが。また、ファイル名パスのファイル拡張子を削除しようとしました (これは別のサイトからの提案でした)。SaveAs 関数で使用するその他の引数は、FileFormat (Excel8 に設定) だけです。セキュリティの問題に関する投稿をいくつか見たことがありますが、毎回発生するわけではないため、これがどのようにセキュリティの問題になるのかわかりません。これを引き起こしている可能性のあるものについて、私は本当に途方に暮れています。XPボックス以来、コードは変更されていません。このシナリオでの唯一の違いは、コードが実行されている O/S (および新しいボックスが 64 ビットであるという事実) です。
ワティフ