Я создал электронную таблицу, в которой опционально использует данные Bloomberg, извлекаемые с использованием библиотеки типов API COM 3.5. Я хочу иметь возможность распространять эту таблицу среди пользователей, не входящих в Bloomberg, но они не могут ее запустить, поскольку у них нет нужных библиотек.
Весь код, связанный с blpapi, кроме того, что находится в модуле класса, находится позади, если операторы, которые не должны вводиться пользователями не-BB. В модуле класса я лениво определяю сессию и Сервис так, чтобы специфичные для blpapi определения задерживались до инициализации класса (см. Ниже):
Option Explicit
Private session As Object
Dim refdataservice As Object
Private Sub Class_Initialize()
' First create session.
Set session = New blpapicomLib2.session
session.QueueEvents = True
session.Start
' Then open service.
' A service provides the schemas needed to make requests.
session.OpenService "//blp/refdata"
Set refdataservice = session.GetService("//blp/refdata")
End Sub
Короче говоря - код, вызывающий проблемы, никогда не запускается. Мое (очень ограниченное) понимание VBA в основном функционально, поэтому я, вероятно, упускаю что-то очевидное. Это ошибка, связанная с компиляцией? Есть ли способ для меня предварительно скомпилировать VBA, чтобы пользователи не сталкивались с этой проблемой? Может быть, какой-то метод обработки ошибок, чтобы книга не зависала?