2012-03-26 2 views
0

В моей таблице я имею ссылку на библиотеку MS XML v3.Могу ли я сделать асинхронный XML-вызов в Excel 2010 VBA?

Вот мой пример кода

Option Explicit 


Private objConn As XMLHTTP30 


Public Sub HandleAsyncEvent() 
    Debug.Print "Done" 
End Sub 

Public Function InitService(serviceUrl As String, Optional asyncMode As Boolean = True) 
    Set objConn = New XMLHTTP30 
    objConn.Open "POST", serviceUrl, asyncMode 
    objConn.setRequestHeader "Content-Type", "text/xml" 
    objConn.onreadystatechange = HandleAsyncEvent 

End Function 

я столкнулся исключение во время выполнения, когда дело доходит до линии

objConn.onreadystatechange = HandleAsyncEvent 

Excel бросает исключение «Требуется объект»

Является ли это на самом деле возможно передать функцию в onreadystatechange здесь? Могу ли я передать функцию «указатель» в excel vba?

+2

Вот подход к этому типу задачи: http://www.dailydoseofexcel.com/archives/2006/10/09/async- xmlhttp-calls/ –

+0

@Tim Похоже, что это ответ на мой вопрос. Вы можете сделать это ответом, чтобы я мог продвигать и тикать. –

+0

добавлен в качестве ответа ... –

ответ