我用两个按钮创建了一个非常简单的模态表单:一个只是关闭表单,另一个调用Application.RTD.RefreshData
. 在 Excel 2003 中,这一切正常,但在 Excel 2010 中,Application.RTD.RefreshData
崩溃
运行时错误“1004”:应用程序定义的或对象定义的错误
如果我将表单创建为无模式,则在 Excel 2003 和 Excel 2010 中一切正常。
对于它的价值,这是表单背后的所有代码:
Private Sub RefreshDataButton_Click()
Application.RTD.RefreshData
End Sub
Private Sub CloseButton_Click()
Call Unload(Me)
End Sub
我在工作表中使用此代码调用表单:
Private Sub CommandButton1_Click()
Dim form As UserForm1
Set form = New UserForm1
form.Show vbModal
End Sub
我已经在 Google 和 SO 上搜索了有关这方面的任何信息,但无济于事。这是 Excel 2010 的一个已知问题,还是我真的不允许Application.RTD.RefreshData
从模式表单中调用?
编辑:据我所知,我应该补充一点,我的 Excel 会话中没有RTD 服务器。
EDIT2:进一步调查:Excel 2003 或 2007 中不会出现错误;它确实发生在 2010 年和 2013 年。