私たちはMS Projectとの間でデータをエクスポートしたりインポートしたりできるアプリケーションを持っています。データの量は重要なものになります - 1000以上のタスク。 小さなデータ部分であっても、奇妙なプロジェクトの振る舞いに気付きました。連続して2回以上操作すると、あなたの顔に「アプリがビジー」という例外がスローされます。例えば。新しいタスクを作成し、終了日を読み取ることができます。 Applicationオブジェクトを作成した後でも、この例外を最初の操作としてスローすることさえできます。意味:com interop経由でMS Projectを操作する際に、「アプリがビジー」という例外を回避するにはどうすればよいですか?
var projectApp = new Application();
projectApp.Open(...);
2番目の行では、プロジェクトアプリケーションがまだ読み込まれているため、この例外が発生します。
Thread.Sleepを追加しようとしましたが、これは良い方法ではありません。いくつかの操作には他の時間よりも時間がかかるため、操作に必要な時間はパフォーマンスによって異なるためです。
クエストインは次のとおりです: これらの修正不可能な例外を常に取得することなく、Projectアプリケーションがビジー状態であることを検出する方法はありますか?
ヒットのGoogle "c#CoRegisterMessageFilter" –