2016-11-23 12 views
0

私たちはMS Projectとの間でデータをエクスポートしたりインポートしたりできるアプリケーションを持っています。データの量は重要なものになります - 1000以上のタスク。 小さなデータ部分であっても、奇妙なプロジェクトの振る舞いに気付きました。連続して2回以上操作すると、あなたの顔に「アプリがビジー」という例外がスローされます。例えば。新しいタスクを作成し、終了日を読み取ることができます。 Applicationオブジェクトを作成した後でも、この例外を最初の操作としてスローすることさえできます。意味:com interop経由でMS Projectを操作する際に、「アプリがビジー」という例外を回避するにはどうすればよいですか?

var projectApp = new Application(); 
projectApp.Open(...); 

2番目の行では、プロジェクトアプリケーションがまだ読み込まれているため、この例外が発生します。

Thread.Sleepを追加しようとしましたが、これは良い方法ではありません。いくつかの操作には他の時間よりも時間がかかるため、操作に必要な時間はパフォーマンスによって異なるためです。

クエストインは次のとおりです: これらの修正不可能な例外を常に取得することなく、Projectアプリケーションがビジー状態であることを検出する方法はありますか?

+1

ヒットのGoogle "c#CoRegisterMessageFilter" –

答えて

1

STAをスレッドタスクに適用し、OleMessageFilterを使用して登録/取り消しをgoogleで見つけました。この答えに私を導いた彼のコメントのためにハンス・パッセントに感謝します!

関連する問題