2012-01-04 3 views
4

Я пытаюсь загрузить данные с Блумберг API с помощью этого FUNCTION-Использование API Bloomberg в VBA

' Make certain you have a Reference to C:\blp\API\ActiveX\blpdatax.dll 
Sub FindBloombergData() 
On Error GoTo Handler: 

Dim oBlp As BLP_DATA_CTRLLib.BlpData 
Dim ReqSecurities As Variant 
Dim ReqFields As Variant 
Dim vtResult As Variant 
Dim n As Integer 

Set oBlp = New BlpData 
ReqSecurities = Array("SX5E Index") 

ReqFields = Array("OPT_CHAIN") 

With oBlp 
.SubscriptionMode = ByRequest 
.Subscribe ReqSecurities, 3, ReqFields, , , vtResult 
End With 

Stop 'and look at the results in Local or Watch Window 
For n = 0 To UBound(vtResult(0, 0), 1) 
Debug.Print n, vtResult(0, 0)(n, 0) 
Next 

Handler: 
If Err.Number <> 0 Then 
MsgBox Err.Description, vbCritical 
End If 

Set oBlp = Nothing 
End Sub 

Однако, всякий раз, когда я пытаюсь запустить его, я получаю эту ошибку: «компиляции ошибок определенного пользователем типа не определено «Что я делаю неправильно? он выделяет строку кода с помощью этого кода: Dim oBlp As BLP_DATA_CTRLLib.BlpData, но у меня определенно установлен API bloomberg

+2

* Убедитесь, что у вас есть ссылка ... * Вы сделали это? Инструменты -> Ссылки, найдите библиотеку Bloomberg и отметьте ее. –

+0

У меня есть ссылка, по-прежнему та же проблема – ecbtln

+0

Проверьте в браузере объектов (F2) для BLP_DATA_CTRLLib и его BlpData, они существуют? –

ответ

2

Я только столкнулся с той же проблемой. Причина очень проста. Устаревший код устарел в 2011 году, и Bloomberg больше не поддерживает его. Код необходимо преобразовать в службу Bloomberg COM V3.

Смежные вопросы