我有以下代码可以在Excel 2010中正常使用,但由于Bloomberg更新的API,此代码在Excel 2016中无效。参考BLP_DATA_CTRLLib.BlpData已过时,但我很难使用新的API参考。
有谁知道如何更新我的Bloomberg引用以存储引号?
Function Get_BBG_Price(dataa As Variant, CISI As Long)
Dim ReqSecurities As Variant, vtResult As Variant, ReqFields As Variant
Dim Arraystr As String
Dim oBlp As BLP_DATA_CTRLLib.BlpData
ReDim ReqSecurities(1 To UBound(dataa, 1))
For i = 1 To UBound(dataa, 1)
ReqSecurities(i) = dataa(i, CISI) & "@IEHY ISIN" '
Next i
Set oBlp = New BlpData
'
ReqFields = Array("PX_BID")
With oBlp
.SubscriptionMode = ByRequest
.Subscribe ReqSecurities, 1, ReqFields, , , vtResult
End With
Get_BBG_Price = vtResult
End Function
答案 0 :(得分:1)
我正在看一下,看起来这个版本的编码已被弃用。我想你会在“无法创建对象”的行中出现错误,但它可能会隐藏在2016年。
你可能想要使用他们在这里的C#版本, https://www.bloomberglabs.com/api/libraries/
要使用它,我会在这里使用代码,http://mikejuniperhill.blogspot.com/2013/06/bloomberg-v3com-api-wrapper-update-for.html *代码太冗长或者我会在这里发布。