在vba中使用Bloomberg API

我正在尝试使用此函数使用bloomberg API加载数据 –

' 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但我肯定安装了bloomberg API

最佳答案 我刚遇到同样的问题.原因很简单.遗留代码在2011年已弃用,Bloomberg不再支持它.代码需要转换为Bloomberg的COM V3服务.

点赞