• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

HTML表格刮使用VBA

html 来源:yusuf 5次浏览

IM试图从tr标签的国家,但它只是给我的表的第一行我怎么刮的特定行HTML表格刮使用VBA

Sub ipsearch() 
    Dim x As Integer 
    x = 2 

    Do Until x = 4000 

     Dim ie As New InternetExplorer  
     ie.navigate "https://whatismyipaddress.com/ip/" & Range("E" & x).Value 

     Do  
      DoEvents   
     Loop Until ie.readyState = READYSTATE_COMPLETE 

     Dim doc As HTMLDocument  
     Set doc = ie.document  
     Dim sDD As String 

     sDD = Trim(doc.getElementsByTagName("td")(, 0).innerText) 

     Range("F" & x).Value = sDD  
     x = x + 1  
    Loop 

End Sub 

enter image description here 蓝色位是什么我得到和黄是什么,我想

===========解决方案如下:

这是后话,将在您的例子返回“联合王国”:

Sub ipsearch() 
    Dim x As Long 
    x = 2 

    Do Until x = 4000 
     Dim ie As New InternetExplorer 
     ie.navigate "https://whatismyipaddress.com/ip/" & "2.99.247.66" 

     Do 
      DoEvents 

     Loop Until ie.readyState = READYSTATE_COMPLETE 
     Dim doc As HTMLDocument 
     Set doc = ie.document 
     Dim sDD As String 
     ie.Visible = True 

     sDD = Trim(doc.getElementsByTagName("tbody")(1).innerText) 
     Range("F" & x).Value = Split(sDD, vbCrLf)(5) 

     x = x + 1 

    Loop 

End Sub 

一般情况下,自动对焦新编写更好的代码的想法。

  • 真的很高兴知道你在用什么 – 例如,在你的截图中,来自IP的数字取自蓝色以上的行,例如,从“2.99.247.66的详细信息”。
  • 当您向StackOverflow提供代码时,请务必提及您的代码正在使用的其他库。你的情况这两种:

enter image description here

,或者确保您的代码使用后期绑定,因此图书馆不应该添加。 – 一般情况下,可以考虑使用Long,在Integer代替 – Why Use Integer Instead of Long?


  • 格式代码,当你提交。它看起来好一点。 Ctrl + K是StackOverflow中的快捷方式。
  • 对于VBA使用Option Explicit
  • 尝试硬编码问题中的变量。你的情况:

"https://whatismyipaddress.com/ip/" & "2.99.247.66"


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)