Excel 2003 ファイルからデータを自動的に読み取るバックグラウンド サービス アプリケーションを作成しています。しかし、何を試しても、アドレス「00000800」から読み取ろうとすると、メソッド OlePropertyGet() は常に EAccessViolation エラーになります。
エラーは常にこのコード スニペットの最後の行で発生し、メソッドが受け取るパラメーターとは無関係のようです。
Variant excel, workbooks;
try
{
excel = GetActiveOleObject("Excel.Application");
}
catch(...)
{
excel = CreateOleObject("Excel.Application");
}
workbooks = excel.OlePropertyGet("Workbooks");
私はこれについていくつかの広範なGoogle検索を行いましたが、リモートでさえ役立つものは何も見つかりませんでした.誰かが同じ問題を抱えているこのフォーラムスレッドだけですが、原因や解決策についての情報を提供していません.著者は原因を知っていると述べていますが、それが何であるかは述べていません!)。
これを引き起こしている原因とこの問題を解決する方法についてのアイデアだけでなく、Excel OLE オートメーションへの代替アプローチも歓迎します。