安装插件时,Excel崩溃

Excel AddIn,.NET 4.0,NetOffice 1.5.1.2,ExcelDNA 1.29,C#安装程序使用VBA调用xls(install.xls),如下所示在install.xls结束时,Excel将closures。 但是,Excelclosures后,Excel崩溃说“Excel停止工作…请发送报告给微软”与两个button,一个是“不要发送”,另一个是发送

这只会发生在Windows XP + Excel 2007或WinXP + Excel 2010中。另外在debugging期间,我注意到如果我用MsgBoxreplaceApplication.Wait,那么根本没有崩溃问题。 我觉得有一些时间问题,但真的没有办法控制。 这个问题让我疯狂。 请帮忙。 谢谢!

Private Sub Workbook_Open() Dim quit As Integer Dim added As Boolean added = Add_Addin Application.Wait (Now + TimeValue("0:00:02")) If Workbooks.Count = 1 Then Application.Wait Now + TimeValue("0:00:03") Application.quit Else Application.Wait Now + TimeValue("0:00:03") Me.Close End If End Sub Private Function Add_Addin() As Boolean On Error GoTo ERR_ Dim addinFile As String addinFile = ThisWorkbook.Path & "\" & "MyAdd-In.xll" If Len(addinFile) > 0 Then Dim LEA As AddIn Set LEA = Application.AddIns.Add(addinFile) If (Not LEA Is Nothing) Then LEA.Installed = True Else MsgBox "Failed to add XLL" End If 'If (Application.RegisterXLL(addinFile) = True) Then ' MsgBox "Yeah, succeed registering XLL" 'Else ' MsgBox "Failed to register XLL" 'End If Else MsgBox "XLL file not found" End If addinFile = ThisWorkbook.Path & "\" & "MyFunc.xla" If Len(addinFile) > 0 Then Dim LEA2 As AddIn Set LEA2 = Application.AddIns.Add(addinFile) If (Not LEA2 Is Nothing) Then LEA2.Installed = True Else MsgBox "Failed to add xla" End If Else MsgBox "xla file not found" End If Add_Addin = True Exit Function ERR_: MsgBox ("Error " & Err.Number & " " & Err.Description) Add_Addin = False End Function 

我想到了。 我使用callback以asynchronous方式启动了Web服务调用当Excel打开时。 Excel处理或closures后执行Web服务调用的callback时,发生崩溃。 callback根据Web服务的结果分解/启用function区button。 我通过检查Excel是否为空或在callback中执行其他任何操作之前进行处理来修复它。