Note that there are some explanatory texts on larger screens.

plurals
  1. POExtracting a Specific Variable from a Class Module in VBA to a Standard Module
    primarykey
    data
    text
    <p>All, The following code is from Bloomberg. It is designed to extract bulk data from their servers. The code works, but I am trying to extract a specific variable generated in the class module and bring it to the Regular Module for user defined functions. Thanks for the help.</p> <pre><code>Option Explicit Private WithEvents session As blpapicomLib2.session Dim refdataservice As blpapicomLib2.Service Private Sub Class_Initialize() Set session = New blpapicomLib2.session session.QueueEvents = True session.Start session.OpenService ("//blp/refdata") Set refdataservice = session.GetService("//blp/refdata") End Sub Public Sub MakeRequest(sSecList As String) Dim sFldList As Variant Dim req As Request Dim nRow As Long sFldList = "CALL_SCHEDULE" Set req = refdataservice.CreateRequest("ReferenceDataRequest") 'request type req.GetElement("securities").AppendValue (sSecList) 'security + field as string array req.GetElement("fields").AppendValue (sFldList) 'field as string var Dim cid As blpapicomLib2.CorrelationId Set cid = session.SendRequest(req) End Sub Public Sub session_ProcessEvent(ByVal obj As Object) Dim eventObj As blpapicomLib2.Event Set eventObj = obj If Application.Ready Then If eventObj.EventType = PARTIAL_RESPONSE Or eventObj.EventType = RESPONSE Then Dim it As blpapicomLib2.MessageIterator Set it = eventObj.CreateMessageIterator() Do While it.Next() Dim msg As Message Set msg = it.Message Dim Security As Element Set Security = msg.GetElement("securityData").GetValue(0) Sheet1.Cells(4, 4).Value = Security.GetElement("security").Value Dim fieldArray As Element Set fieldArray = Security.GetElement("fieldData") Dim field As blpapicomLib2.Element Set field = fieldArray.GetElement(0) If field.DataType = 15 Then Dim numBulkValues As Long numBulkValues = field.NumValues '76 Dim index As Long For index = 0 To numBulkValues - 1 Dim bulkElement As blpapicomLib2.Element Set bulkElement = field.GetValue(index) Dim numBulkElements As Integer numBulkElements = bulkElement.NumElements '2 elements per each pt ReDim Call_Sch(0 To numBulkValues - 1, 0 To numBulkElements - 1) As Variant Dim ind2 As Long For ind2 = 0 To numBulkElements - 1 Dim elem As blpapicomLib2.Element Set elem = bulkElement.GetElement(ind2) Call_Sch(index,ind2)=elem.Value Sheet1.Cells(index + 4, ind2 + 5) = elem.Value Next ind2 Next index Else Call_Sch(index,ind2)=field.Value Sheet1.Cells(index + 4, ind2 + 5).Value = field.Value End If Loop End If End If End Sub </code></pre> <p>The variable i am trying to get, specifically, is the Call_Sch. I want a function in the main module to recognize the variable. Thanks again.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload