ここで説明されているように、Delphi 2007 の ExcelXP コンポーネントを使用して、MS Excel に接続し、ワークシートのいくつかのフィールドにデータを入力しています。それは正常に機能し、必要に応じてワークシートを変更できます。
ただし、Excel で開いているワークシートがある場合に限り、アプリケーションの終了後も Excel を開いたままにしておきます。開いているブックの数は で取得できるExcelApplication.Workbooks.Count
ので、アプリケーション終了時にブックが開いているかどうかを確認したり、途中で Excel を閉じたりするのは簡単OnDestroy
です。
現在、アプリケーションが終了するとすぐに開いているワークブックがあるかどうかに関係なく、Excel が終了する状況に陥っています。.Disconnect
または呼び出しによるものではありません.Quit
が、それらをすべて取り出してもまだそうです。アプリケーションを閉じるとすぐに Excel が閉じます。
開いているワークブックがある場合に Excel を開いたままにし、何もない場合に Excel を閉じる方法を知っている人はいますか?
更新: AutoQuit
TExcelApplication のプロパティが に設定されましたTrue
。それがずっと問題だったことが判明しました。