次の背景情報は質問とはあまり関係ありませんが、興味がある場合に備えて含めておきます。
私は走っています:
xlWorkBook.RefreshAll();
Excel ワークブックで、次のメッセージが表示されることがあります。
c# .NET 3.5 を使用して、このポップアップを検出した直後に取り除きたいと思います。
プログラムで検出して閉じる/OKを押すにはどうすればよいですか?
バックグラウンドであっても、このポップアップを識別できるようにしたいことに注意してください!
表示アラートをfalseに設定して、これらを回避できるはずです
Application.DisplayAlerts = False
Application.DisplayAlerts = False
アラート/ポップアップを抑制するために使用できます。ただし、それは理想的には正しい動作ではないはずです。呼び出しRefreshAll()
てエラーポップアップが表示されると、Excel はデータを更新しません。まだ古いデータが表示されます。
これを解決するには、Application.DisplayAlerts=True
2 つのスレッドを保持して作成します。1 つは Excel アプリケーションを開いて RefreshAll() を呼び出し、もう 1 つは指定された時間 (たとえば 20 分) 待機します。最初のスレッドが 20 分以内に返されなかった場合 (おそらくポップアップが原因)、2 番目のスレッドが Excel プロセスを強制終了します。最初のスレッドが解放され、ファイルが更新されていないという例外がログに記録されます。