0

次の背景情報は質問とはあまり関係ありませんが、興味がある場合に備えて含めておきます。

私は走っています:

xlWorkBook.RefreshAll();

Excel ワークブックで、次のメッセージが表示されることがあります。

ここに画像の説明を入力

c# .NET 3.5 を使用して、このポップアップを検出した直後に取り除きたいと思います。

プログラムで検出して閉じる/OKを押すにはどうすればよいですか?

バックグラウンドであっても、このポップアップを識別できるようにしたいことに注意してください!

4

2 に答える 2

4

表示アラートをfalseに設定して、これらを回避できるはずです

Application.DisplayAlerts = False
于 2012-10-17T20:46:55.627 に答える
0

Application.DisplayAlerts = Falseアラート/ポップアップを抑制するために使用できます。ただし、それは理想的には正しい動作ではないはずです。呼び出しRefreshAll()てエラーポップアップが表示されると、Excel はデータを更新しません。まだ古いデータが表示されます。

これを解決するには、Application.DisplayAlerts=True2 つのスレッドを保持して作成します。1 つは Excel アプリケーションを開いて RefreshAll() を呼び出し、もう 1 つは指定された時間 (たとえば 20 分) 待機します。最初のスレッドが 20 分以内に返されなかった場合 (おそらくポップアップが原因)、2 番目のスレッドが Excel プロセスを強制終了します。最初のスレッドが解放され、ファイルが更新されていないという例外がログに記録されます。

于 2015-05-29T09:18:56.837 に答える