【问题标题】:"ThisWorkbook.Close" Causes excel to crash“ThisWorkbook.Close”导致excel崩溃
【发布时间】:2016-11-10 09:29:53
【问题描述】:

我有大量的 excel 文件,它们几乎像程序一样工作,它们在多台计算机上运行(使用不同版本的 windows),最近我有这个 不好 问题,当用户按下我的关闭按钮(实际上是我关联宏的图片)时,代码调用:

ThisWorkbook.Close savechanges:=True

它会导致 4 台受支持的计算机中的 2 台出现 EXCEL 崩溃(Windows XP = OK,Windows 10 = OK 1 BAD OTHER,Windows 8 = BAD)。

我已将事件与这一特定代码行隔离(制作了一个只有一个关闭按钮的 1 张 excel 文件,但它仍然崩溃) 我注意到,如果不是唯一打开的 excel 文件,有时它不会崩溃(可能问题在于关闭 excel 本身)

我所做的是将 2 个语句分开,所以如果(何时)它崩溃,它已经保存了:

ThisWorkbook.Save
ThisWorkbook.Close

任何人都可以发光吗?我真的迷路了。我尝试了所有我能想到的替代方案(activeworkbook...)

Tl;dr: “ThisWorkbook.Close” 导致 excel 崩溃

【问题讨论】:

    标签: vba excel xlsm


    【解决方案1】:

    这是 Microsoft Excel 中的标准错误。不确定微软是否有任何修复。但是,有一些解决方法可以解决此问题。

    当单击事件触发“关闭”事件但与“选择更改”等其他事件一起正常工作时,会出现此问题。要解决这个问题,你可以试试这个:

    在按钮的点击事件中添加如下代码:

    Private Sub CloseButton_Click()
        Cancel = True
        Application.OnTime Now, "Close_Xls"
    End Sub
    

    在标准模块中,添加如下代码

    Sub Close_Xls()
       ThisWorkbook.Close  savechanges:=True
    End Sub
    

    它对我有用。如果有帮助请告诉我

    【讨论】:

      【解决方案2】:

      这发生在我身上,因为我有不会更新的外部链接。为了解决这个问题,我去了数据 -> 编辑链接 -> 断开链接。一旦我断开了所有这些链接,ActiveWorkbook.Close savechanges:=True 就可以正常工作了。

      【讨论】:

        猜你喜欢
        • 2016-12-23
        • 1970-01-01
        • 2013-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-06
        • 1970-01-01
        • 2018-01-23
        相关资源
        最近更新 更多