У меня есть рабочая книга, объявляющая глобальную переменную, предназначенную для размещения COM-объекта.
Global obj As Object
Я инициализирую его в событии Workbook_Open следующим образом:
Set obj = CreateObject("ComObject.ComObject");
Я вижу, что он создан, и в это время я могу сделать несколько COM-вызовов.
На моем листе у меня есть куча ячеек, которые выглядят так:
=Module.CallToComObject(....)
Внутри модуля у меня есть функция
Function CallToComObject(...)
If obj Is Nothing Then
CallToComObject= 0
Else
Dim result As Double
result = obj.GetCalculatedValue(...)
CallToComObject= result
End If
End Function
Я вижу эту работу немного, но после обновления нескольких листов объект obj больше не инициализируется, т.е. он имеет значение Nothing.
Может кто-нибудь объяснить, что я должен искать, что может вызвать это?