gpt4 book ai didi

ms-access - 如何仅关闭由 OLEFormat.Activate 打开的 Excel 实例

转载 作者:行者123 更新时间:2023-12-03 02:45:11 25 4
gpt4 key购买 nike

好的,我正在从 MS Access 创建一个 Word 文档(基于模板),并使用 OLEFormat 对象更新多个图表。一旦我激活了该对象(该对象创建了一个新的 Excel 实例)并进行了编辑,我就会使用以下命令关闭该 Excel 实例:

wdChart.ChartData.Workbook.Application.Quit

如果没有其他 Excel 实例在运行,则此方法可以正常工作。但是,如果 OLEFormat.Activate 发生时有一个打开的 Excel 实例,则它不会创建新的 Excel 实例,而是在打开的同一 Excel 实例中打开图表电子表格。因此,当我执行 .Application.Quit 命令时,它会关闭该实例中所有打开的工作簿并提示我保存工作簿。此时,我收到一条 Word 消息,内容如下:

To insert a chart, you must first close any open dialog boxes or cancel editing mode in Microsoft Excel

我的代码失败并显示:

Method 'Activate' of object 'ChartData' failed

我认为这些错误与我的代码按顺序编辑多个图表有关。当 Word 对话框弹出时,我的代码仍在尝试运行或发生其他情况。

我认为如果有一种方法可以强制 OLEFormat.Activate 打开它自己的 Excel 实例,就可以解决所有这些问题。这可能吗?

最佳答案

您需要检查是否有超过 1 个打开的工作簿。如果是,则关闭图表工作簿,否则,退出应用程序。

If wdChart.ChartData.Workbook.Application.Workbooks.Count > 1 Then
wdChart.ChartData.Workbook.Close saveChanges:=False
Else
wdChart.ChartData.Workbook.Application.Quit
End If

关于ms-access - 如何仅关闭由 OLEFormat.Activate 打开的 Excel 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com