我正在使用 Delphi 2007 的 ExcelXP 组件,如所述 here连接到 MS Excel 并填充工作表中的某些字段。这应该有效,我可以根据需要修改工作表。
但是,我希望 Excel 在应用程序结束后保持打开状态,但前提是 Excel 中存在打开的工作表。我可以使用 ExcelApplication.Workbooks.Count 获取打开的工作簿的数量,因此在应用程序结束时检查是否有任何工作簿打开,并在 期间关闭 Excel 将是一项简单的任务OnDestroy
或类似的。
现在,我陷入了这样一种情况:只要我的应用程序结束,Excel 就会关闭,无论是否有任何打开的工作簿。不是由于任何 .Disconnect
或 .Quit
调用,当我将它们全部取出时,它仍然会这样做;当我的应用程序关闭时,Excel 仍然会关闭。
有人知道如何让 Excel 在有打开的工作簿时保持打开状态,并在没有打开的工作簿时关闭它吗?
更新:我的 TExcelApplication 的 AutoQuit
属性已设置为 True
。事实证明这一直是问题所在。
最佳答案
在回答我自己的问题时,我的同事注意到 TExcelApplication 组件有一个 AutoQuit
属性。将其设置为 False
并且 Excel 保持打开状态。现在,我可以在 OnDestroy
事件中手动退出/断开 Excel 连接。
关于excel - 应用程序结束后保持 Excel 打开(Delphi 自动化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15520100/