2017-02-12 21 views
0

レポート用にかなり複雑なExcelマクロを実行するC#アプリケーションがあります。しかし、処理する必要があるデータが大きくなると、マクロは正常に動作します。Office Interop Excelとマクロを使用しているときに "System call failed"例外を修正する方法

システムコールに失敗しました。 (HRESULTからの例外:0x80010100(RPC_E_SYS_CALL_FAILED))Microsoft.Office.Interop.Excel.Workbooks.get__Default(オブジェクトインデックス)の処理の約7分後

これは、我々はマクロを実行するために使用する構文は次のとおりです。

excelApplication.Run(macroCommand, DataBook, DataSheet, macroParameter);

... excelApplicationMicrosoft.Office.Interop.Excelのインスタンスである、macroCommandは、DataBookは、Excelワークブックで、マクロの文字列名ですDataSheet使用するワークシートとmacroParameterは単なるプレースホルダパラメータです。

私はDoEvents()の実装について読んだことがありますが、現在の問題を修正する方法がわかっていますか?

ご協力いただければ幸いです。

+0

少なくとも違反する文を示しています... – user3598756

+0

'excelApplication.Run(macroCommand、DataBook、DataSheet、macroParameter)'は問題の文ですか? –

+0

DoEvents()から離れてください。その方法は宇宙から打ち負かすべきです – MickyD

答えて

0

私は、DoEvents()をマクロ自体で使用し、各ループの開始時と終了時に追加しました。

関連する問題