Excel VBA代码不';我不能始终如一地工作
我不熟悉使用VBA。我正试图正确地使用它。我有这个代码,它似乎在第一次的时候就工作得很好,但是我不能让它再次工作。我正在尝试进入篮球比赛的比赛摘要页面。如果我能得到一些帮助,我将不胜感激Excel VBA代码不';我不能始终如一地工作,excel,vba,Excel,Vba,我不熟悉使用VBA。我正试图正确地使用它。我有这个代码,它似乎在第一次的时候就工作得很好,但是我不能让它再次工作。我正在尝试进入篮球比赛的比赛摘要页面。如果我能得到一些帮助,我将不胜感激 Sub Test() Dim URL As String Dim IE As InternetExplorer Dim HTMLdoc As HTMLDocument Dim TDelements As IHTMLElementCollection Dim TDeleme
Sub Test()
Dim URL As String
Dim IE As InternetExplorer
Dim HTMLdoc As HTMLDocument
Dim TDelements As IHTMLElementCollection
Dim TDelement As HTMLTableCell
Dim i As Integer
URL = "http://www.flashscore.com/basketball/"
Set IE = New InternetExplorer
With IE
.Navigate URL
.Visible = True
While .Busy Or .ReadyState <> READYSTATE_COMPLETE: DoEvents: Wend
Set HTMLdoc = .Document
End With
Set TDelements = HTMLdoc.getElementsByTagName("td")
For Each TDelement In TDelements
If TDelement.Title = "Click for match detail!" Then
TDelement.Click
End If
Next
End Sub
子测试()
将URL设置为字符串
Dim IE作为InternetExplorer
将HTMLdoc设置为HTMLDocument
将TDI元件变暗为IHTMLELELEmentCollection
作为HTMLTableCell的Dim TDelement
作为整数的Dim i
URL=”http://www.flashscore.com/basketball/"
Set IE=新的InternetExplorer
与IE
.浏览网址
.Visible=True
当.Busy或.ReadyState时ReadyState\u完成:DoEvents:Wend
设置HTMLdoc=.Document
以
Set TDelements=HTMLdoc.getElementsByTagName(“td”)
对于TDelements中的每个TDelement
如果TDelement.Title=“单击以获取匹配详细信息!”则
TDelement。单击
如果结束
下一个
端接头
尝试使用此
Dim IE as Object
Set IE = CreateObject("InternetExplorer.Application")
--更正只需稍加调整,您的代码实际上看起来不错-请确保添加:
IE.Quit
Set IE = Nothing
End Sub
否则多个IE实例将隐藏在后台-其他人建议使用CreateObject(“InternetExplorer.Application”),但我更喜欢使用您使用的方法,这样您就有了一个真正的InternetExplorer对象,您可以在必要时查看其方法和属性
我运行了它,没有得到错误,但也没有得到任何TDs来满足If条款-这可能是由于网站及其数据的时间安排,element.title不是我经常使用的属性,因此这可能是您的问题的根源,您应该重新检查您要满足If条款的属性
希望这有帮助,
silkcode是否有任何错误?请解释它是如何不一致地工作的。当我第一次使用此代码时,它工作得非常完美,它将显示匹配摘要页面,但如果我再次尝试运行代码,则不会显示匹配摘要页面。