2017-08-22 3 views
3

Je travaille actuellement sur un spreedsheet qui télécharge les données de Bloomberg via VBA à conect à Bloomberg et pour obtenir les données que j'utilise le code suivant:VBA/Bloomberg/.NonTradingDayValue

Set myBlpObject = New BlpData 
     myBlpObject.SubscriptionMode = ByRequest 
     With myBlpObject 
      .ReverseChronological = True  
      .Periodicity = bbActualDaily    
      .DisplayNonTradingDays = AllCalendar 
      .NonTradingDayValue = "B"    
      .ShowHistoricalDates = True  


End With 

'Security = Array("DAX Index", "SX5E Index", "SXXE Index", "nky index", "spx index") 
Security = slice 
vtfields = Array("PX_LAST") 
vtstart = "03.01.2017" 
vtende = "06.08.2017" 

Cela fonctionne très bien, mais Je reçois pour chaque jour non négocié la dernière valeur disponible reportée ...

Ma question est comment puis-je obtenir pour les jours non boursiers une valeur de 0 à la place? Quel est le remplissage correct pour cette partie .NonTradingDayValue = "B"?

J'apprécie vraiment toute aide que vous pouvez fournir.

Répondre

2

Simplement, vous ne pouvez pas. À partir de la référence de l'API Bloomberg, le nonTradingDayFillMethod ne possède que deux valeurs d'élément: PREVIOUS_VALUE ou NIL_VALUE.

Si vous essayez de faire la même chose en VBA, les seuls choix disponibles sont ceux de l'image jointe.

excel vba

+0

merci cette aide! Je viens d'utiliser "ShowNoNumber" et utiliser une boucle à Sub le # N/As avec 0 – EKSK