Excel 如何制定Asyc方法
我是XMLHHTP的新手,我只是在一些人的在线帮助下编写了下面的代码,并意识到我需要使其异步,因为工作簿需要访问数百个URL 如果有人能对此进行研究并将其转换为异步,我将不胜感激Excel 如何制定Asyc方法,excel,vba,Excel,Vba,我是XMLHHTP的新手,我只是在一些人的在线帮助下编写了下面的代码,并意识到我需要使其异步,因为工作簿需要访问数百个URL 如果有人能对此进行研究并将其转换为异步,我将不胜感激 Sub GetInfo() Dim Http As New XMLHTTP60, Html As New HTMLDocument Dim lastrow As Long, i As Long Dim sdd As String Dim add As Variant Dim u
Sub GetInfo()
Dim Http As New XMLHTTP60, Html As New HTMLDocument
Dim lastrow As Long, i As Long
Dim sdd As String
Dim add As Variant
Dim url As Range
i = 2
For Each url In Range(Cells(3, "J"), Cells(Rows.Count, "J").End(xlUp))
With Http
.Open "GET", url, False
.send
Html.body.innerHTML = .responseText
End With
On Error Resume Next
sdd = Html.querySelector("span[itemprop='price']").getAttribute("content")
i = i + 1
Sheet1.Cells(i, "K") = sdd
Next url
End Sub
我得到了你的答案,看看这个演练
我希望这能有所帮助。当你说异步时,你是指后台处理还是不阻塞用户界面?这是不同的。嗨,皮肤,谢谢你调查这件事。这就是我认为
async
可以做到的。读一读这篇文章。。。可能有助于理解Excel的异步功能。我唯一的建议是查看计时器,看看它们是否能满足您的要求。谢谢您将我引导到该链接。我以前确实读过它,还有一些更详细的参考资料。我必须说,就我目前的水平而言,我不知道如何将它应用到我的工作表中。因此,如果有人能将我的代码转换成async
,我想你需要考虑将逻辑抽象成另一种语言,在这种语言中你可以打开工作簿,异步运行http调用,比如C#或其他什么。不过,它不太可能给你想要的用户界面体验,这是缺点。谢谢你,我会检查一下的。