Я создал очень простую модальную форму с двумя кнопками: одна просто закрывает форму, а другая вызывает 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 годах.