我们知道vb编程可以读取txt等文件里的数据
那么它可以读取网络上地址已知的htm文件表格里的数据吗?(比如http://data.cnfund.cn/jzdata/qbjj.htm的表格)
如果要读取该表格第3列里的数据
怎么做?
谢谢

解决方案 »

  1.   

    Sub gettable()
    Dim s() As String, i As Long, temp As String
    With CreateObject("Msxml2.XMLHTTP")
    .Open "GET", "http://data.cnfund.cn/jzdata/qbjj.htm", False
    .Send
    s = Split(Split(.responseText, "<table")(7), "<td>")
    End With
    For i = 2 To UBound(s) Step 10
    temp = temp & "," & Split(Split(s(i), "blank"">")(1), "<")(0)
    Next
    Debug.Print Mid(temp, 2)
    End Sub
      

  2.   

    Split(Split(.responseText, " <table")(7), " <td >") For i = 2 To UBound(s) Step 10 
    temp = temp & "," & Split(Split(s(i), "blank"" >")(1), " <")(0) 有点看不懂,请讲解下
    谢谢
      

  3.   

     Split(Split(.responseText, " <table")(7), " <td >")  '分割函数 split 看看VB语言参考 里面有具体介绍 其实就是把一个字符串通过某个特定的字符串或字符分割成若干个字符串 存放到一个数组里。
      

  4.   

    这个方法解决此问题非常好!、、
    With CreateObject("Msxml2.XMLHTTP")
    .Open "GET", "http://data.cnfund.cn/jzdata/qbjj.htm", False
    .Send   这几句原理还在研究当中。
    但我有个问题就是,网站表格数据是动态的,如果我想实时更新读取下来的数据,加个Timer控件实时监控,或者加个命令按钮命名“更新”来通过点击更新数据,可现在问题是怎么更新不了呢?
    就比如下:(点击命令按钮,数据没有发生更新)
    Private Sub Command1_Click()
    Dim s() As String, i As Long, temp As String
    With CreateObject("Msxml2.XMLHTTP")
    .Open "GET", "http://data.cnfund.cn/jzdata/qbjj.htm", False
    .Send
    s = Split(Split(.responseText, "<table")(7), "<td>")
    End With
    For i = 2 To UBound(s) Step 10
    temp = temp & "," & Split(Split(s(i), "blank"">")(1), "<")(0)
    Next
    Debug.Print Mid(temp, 2)
    End Sub