Excel应用程序。退出不';t终止EXECL.EXE进程

Excel应用程序。退出不';t终止EXECL.EXE进程,excel,vbscript,Excel,Vbscript,我发现Excel的Quit命令有一些奇怪的行为,我找不到解释或解决方法 下面的VBScript脚本复制了该问题。这就是它的作用 创建新的Excel实例 打开和关闭一定数量的工作簿(由工作簿控制以创建) 尝试退出Excel 然后,它通过将Visible状态更改回True来证明Excel是否真的退出了 我收集到的信息是,只有当WorkbooksToCreate设置为0或1时,才会发生成功的Quit。如果设置为2或更高,Excel将无法正确退出 'Switch this between 1 and 2

我发现Excel的
Quit
命令有一些奇怪的行为,我找不到解释或解决方法

下面的VBScript脚本复制了该问题。这就是它的作用

  • 创建新的Excel实例
  • 打开和关闭一定数量的工作簿(由
    工作簿控制以创建
  • 尝试退出Excel
  • 然后,它通过将
    Visible
    状态更改回True来证明Excel是否真的退出了
  • 我收集到的信息是,只有当
    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
    
    我正在Windows7上使用Excel2010

    我已经尝试了很多不同的方法,但无法确定问题出在哪里。我能说的最好的是,在本例中,所有的
    xlApp.Quit
    都相当于
    xlApp.Visible=False

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


    感谢@omegastripes和@Mikegrann确认并非每台机器都会出现这种情况

    我做了进一步的调查,发现这个问题与我自己的工作笔记本电脑有关。此问题无法在其他计算机上复制

    但我已经成功地追踪并修复了故障。这是由一个名为
    CiscoClickToCall.Connect
    的特定COM加载项引起的。卸载后,脚本开始按预期运行,并成功退出

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

    据我所知,所有外接程序的目的都是向单元格的右键单击添加上下文菜单命令


    谢谢大家的帮助

    有什么帮助吗?@BruceWayne。我知道我可以那样做。但如果有人能解释为什么打开两本工作簿不同于打开一本或一本都不打开,那就更有趣了。另外,在不知道进程id的情况下,该方法可能会关闭与打开的excel实例不同的excel实例。感谢您不能复制此问题,无论创建工作簿的值是多少,Windows 7 HB 64位,Excel 2010 64位。无法在Windows 7中使用Excel 2013 32位Gastripes@mikegrann复制此问题。我已在我的个人笔记本电脑上试用过,您的权利我可以重新创建它!一定是我的工作电脑,这就是问题所在。明天我将在另一台工作的机器上试用。我在想可能是什么艾丁?所以我也会尝试禁用它们。我明天回来报到。谢谢