关闭窗口后的End Sub导致Excel崩溃,为什么?

时间:2015-04-02 09:46:57

标签: vb.net excel vsto

我的com-addin中的以下子项不会导致任何问题:

Private Sub MonthCalendar1_DateChanged(sender As Object, e As Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
        Dim ExcelApp As Excel.Application = CType(AddinExpress.MSO.ADXAddinModule.CurrentInstance, AddinModule).ExcelApp
        ExcelApp.ActiveCell.Value = MonthCalendar1.SelectionStart.Date
    End Sub

但是,在我添加了Me.Close()语句的情况下,以下子程序会导致Excel崩溃。可能是什么原因?

Private Sub MonthCalendar1_DateChanged(sender As Object, e As Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
        Dim ExcelApp As Excel.Application = CType(AddinExpress.MSO.ADXAddinModule.CurrentInstance, AddinModule).ExcelApp
        ExcelApp.ActiveCell.Value = MonthCalendar1.SelectionStart.Date
        Me.Close()
    End Sub
编辑:也许我的代码会在我的代码中触发一些其他事件来执行并导致Excel崩溃?是否可以在任何事件开始时暂停执行?由于我不知道可能会调用哪个事件,因此我不知道在哪里添加断点。

1 个答案:

答案 0 :(得分:1)

请改用Hide方法。似乎DateChanged事件处理程序不是此类调用的最佳位置。