excel - 应用程序结束后保持 Excel 打开(Delphi 自动化)

标签 excel delphi ms-office ole delphi-2007

我正在使用 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/

相关文章:

arrays - 分配给数组时的编译错误 - VBA (Excel)

xml - 如何将简单的重复数据从 excel 导出为 xml?

Excel VBA - 从网页中提取数据

java - 如何使用 Apache Poi 在折线图中设置轴标签

delphi - 如何更改某些 Pane 的 Delphi XE2 默认行为?

delphi - 我的 key 的二进制和十六进制字符串表示之间的差异是 DCPCrypt 意外输出的原因吗?

ms-office - 如何导出/导入 MS Office Communicator 联系人?

c# - PPT幻灯片转图片

.net - Delphi发送空字符串到web服务

vba - 我是谁?如何使用 Microsoft Office 权限/用户权限