Я использую WebQuery в Excel VBA, используя что-то похожее на этот пример:
(Этот пример фактически скопирован здесь: http://support.microsoft.com/kb/213730, и я использую другой URL с другими аргументами POST)
Sub URL_Post_Query()
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://webservices.pcquote.com/cgi-bin/excel.exe", _
Destination:=Range("a1"))
.PostText = _
"QUOTE0=[""QUOTE0"",""Enter up to 20 symbols separated " & _
"by spaces.""]"
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
End With
End Sub
Мне нужно иметь возможность делать особо большие запросы (например, скажем, я получаю информацию о цене акций для 20 000 ценных бумаг), и когда я это делаю, Excel «зависает» и не показывает никакого прогресса, пока он работает, хотя запрос успешно завершен.
Используя этот синтаксис, есть ли способ получить доступ к потоку данных, как они поступают? Это помогло бы двумя способами: я мог обрабатывать данные небольшими порциями по мере их поступления, и я мог бы создать индикатор выполнения для отображения пользователю.
Спасибо.