我正在使用 Excel VBA 的 WebQuery,使用类似于此示例的内容:(此示例实际上是从此处复制粘贴的:http: //support.microsoft.com/kb/213730,我使用具有不同 POST 参数的不同 URL)
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 “锁定”并且在它工作时不显示任何进度,尽管查询确实成功完成。
使用这种语法,有什么方法可以访问数据流,因为它正在进入?这将在两个方面有所帮助:我可以在收到数据时以较小的块处理数据,并且我可以创建一个进度表来显示给用户。
谢谢。