Excel Application.Quit不会终止EXECL.EXE过程

我用Excel的Quit命令发现了一些奇怪的行为,我无法find解释或解决scheme。

下面的VBScript脚本复制问题。 这是什么…

  1. 创build一个新的Excel实例
  2. 打开并closures一组工作簿(由WorkbooksToCreate控制)
  3. 尝试Quit Excel
  4. 然后通过将Visible状态更改为True来certificateExcel是否真的退出了

我所收集的是,只有当WorkbooksToCreate设置为0或1时,才能成功Quit 。如果设置为2或更高,Excel将不会正确退出。

 'Switch this between 1 and 2 to see the difference '(1 = quit correctly, 2 = quit only changes the .visible to false) Const WorkbooksToCreate = 2 'Create new Excel Instance Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True 'Add, and then close workbooks For w = 1 to WorkbooksToCreate Set WB = xlApp.Workbooks.Add WB.Close False Next 'Attempt to Quit Excel xlApp.Quit 'Test it really did quit xlApp.Visible = True Set xlApp = Nothing 

我在Windows 7上使用Excel 2010。

我已经尝试了很多变化,但不能确定问题是什么。 最好的我可以告诉的是,在这种情况下,所有的xlApp.Quit都等价于xlApp.Visible = False

有兴趣看看你们是否有更好的运气,或者是否有人注意到与Excel类似的行为?

谢谢

+1到@omegastripes和@Mikegrann识别这不会发生在每台机器上。

我进一步调查,发现问题是特定于我自己的工作笔记本电脑。 该问题不能在其他机器上复制。

但是我已经成功追溯并修复了这个错误。 它是由一个特定的COM CiscoClickToCall.Connect名为CiscoClickToCall.Connect 。 一旦这个卸载,那么脚本开始按预期行事,并成功退出。

我可能不必从Windows完全卸载它; 只要从Excel中删除加载项就足够了,但是这是一个我没有任何用处的应用程序,所以我只是摆脱了它。

从我可以告诉所有加载项的目的是添加上下文菜单命令单元格的右键单击。

感谢大家的帮助