2016-05-06 11 views
0

株のリストの4つのフィールドを取得しようとするとランダムなランタイムエラーが発生します。ランダムな株式のコールが失敗し、購読しているフィールドを変更しても差はありません。 これは、詳細なエラーテキストです:VBA/ExcelでBloomberg BLPSubscribeを使用している場合のランタイム例外

実行時エラー「-2147467259(80004005)#関連N /イングFld

そして、これはコードです。

Dim bbgdata As new BLP_DATA_CTRLLib.BlpData 
bbgdata.BLPSubscribe(sec, Array("PX LAST", "CUR_MKT_CAP", "3MTH_IMPVOL_100.0%MNY_DF", "VOLUME_AVG_90D")) 
+0

#Nは/イングFldは、フィールドのいずれかが1つ(またはすべての)指定された証券に対して有効でないことを意味します。同じ値を使ってExcelでBDP式を試して、ティッカー/フィールドが問題であるかどうかを調べることができます。 – assylias

+0

@assylias同じデータセットの呼び出しは、vbaアプリケーションを再起動すると機能します。私は私の呼び出しをバッチし、失敗は断続的ではありません。私はBLP APIに署名せずに試してみると同じエラーが出ます。 – frostbite

+0

あなたはHELP HELPに尋ねましたか? – assylias

答えて

0

修正した結果をオブジェクトにキャッシュするのではなく、シートに書き出すように修正されました。以前、私は次のようにオブジェクトにデータを入れてやっていた

bbgdata = bbgDataControl.BLPSubscribe(seclist, Array("PX_CLOSE_1D", "PX LAST", "CUR_MKT_CAP", "3MTH_IMPVOL_100.0%MNY_DF", "VOLUME_AVG_90D")) 
dataSheet.Range("BBG").Resize(UBound(bbgdata) + 1, UBound(bbgdata, 2) + 1) = bbgdata 

For i = 0 To ub 
    Dim bbgData as new BBGData 
    bbgData.lastClose = bbgdata(i,0) 'etc. 
next i 
関連する問題