Using the Bloomberg API in vba

16,293

I just encountered the same problem. The reason is very simple. The legacy code was deprecated in 2011 and Bloomberg no longer supports it. The code needs to be converted to Bloomberg's COM V3 service.

Share:
16,293
ecbtln
Author by

ecbtln

Updated on July 29, 2022

Comments

  • ecbtln
    ecbtln almost 2 years

    I am trying to load data with the bloomberg API using this function-

    ' 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
    

    However, whenever I try to run it I get this error: "compile-error user defined type not defined" What am I doing wrong? it highlights the line of code with this code: Dim oBlp As BLP_DATA_CTRLLib.BlpData but I definitely have the bloomberg API installed