Excel ワークブックはコマンド ラインによって呼び出され、コマンド ライン自体は c# (3.5) から起動されます。ワークブックは実行されますが、VBA にエラーがあります。たとえば、ピボットに列がなく、Excel が「デバッグ」オプションを含むエラー メッセージをユーザーに表示します。
C# のプロセスから、エラー ウィンドウが開いていることを検出できます。エラー メッセージのスクリーンショットを撮り、エラー ボックスを閉じます。
これが対話型セッションの場合、Excel は VBA エディターをデバッグ モードで表示し、エラーが発生した行を強調表示します。
ただし、これは無人ターミナル セッションで実行されているため、VBA エディターのスクリーンショットを撮ることができません (スクリーンショットは黒い画面です)。
次に、Windows PID を使用して Excel プログラムを閉じることができます。
問題は、VBA エディターのスクリーンショットを取得する方法、またはデバッグ モードで Excel と (COM または相互運用機能を使用して) バインドし、dom をトラバースしてエラー行と、場合によってはエラー メッセージを見つける方法です。