返回列表 上一主題 發帖

[發問] IE已設定.Visible仍跳出網頁

請教一下各位VBA高手,利用VBA程式開啟網頁操作這個我會
網頁也設定Visible=False了,但同樣程式碼在不同電 ...
smart3135 發表於 2020-1-21 23:35
  1. Sub test()
  2.     年 = 2019
  3.     股票代碼 = 1259
  4.     Cells.Clear
  5.     Dim oXML As Object
  6.     Set oXML = CreateObject("WinHttp.WinHttpRequest.5.1")

  7.     Dim oHTML As Object
  8.     Set oHTML = CreateObject("HTMLFile")

  9.     With oXML
  10.         .Open "POST", "https://www.tpex.org.tw/web/stock/statistics/monthly/result_st44.php?l=zh-tw", 0
  11.         .setRequestHeader "Content-Type", "application/x-www-form-urlencoded;"
  12.         .setRequestHeader "Origin", "https://www.tpex.org.tw"
  13. '        .send "ajax=true&l=zh-tw&yy=2020&input_stock_code=1258"
  14.         .send "ajax=true&l=zh-tw&yy=" & 年 & "&input_stock_code=" & 股票代碼
  15.         oHTML.body.innerHTML = convertraw(.responseBody, "UTF-8")
  16.         Debug.Print oHTML.body.innerHTML
  17.     End With

  18.     Dim oTable As Object, oRow As Object, oCell As Object
  19.     Dim i As Integer, j As Integer

  20.     Set oTable = oHTML.getElementsByTagName("table")(2)
  21.     i = 1
  22.     For Each oRow In oTable.Rows
  23.         j = 1
  24.         For Each oCell In oRow.Cells
  25.             Cells(i, j).Value = oCell.innerText
  26.             j = j + 1
  27.         Next oCell
  28.     i = i + 1
  29.     Next oRow

  30.     Set oHTML = Nothing
  31.     Set oXML = Nothing
  32. End Sub

  33. Function convertraw(rawdata, char)
  34.     Dim rawstr
  35.     Set rawstr = CreateObject("adodb.stream")
  36.     With rawstr
  37.       .Type = 1
  38.       .Mode = 3
  39.       .Open
  40.       .Write rawdata
  41.       .Position = 0
  42.       .Type = 2
  43.       .Charset = char
  44.       convertraw = .ReadText
  45.       .Close
  46.     End With
  47.     Set rawstr = Nothing
  48. End Function
複製代碼

TOP

本帖最後由 joey0415 於 2020-1-31 12:17 編輯
回復  joey0415
Joey大,不好意思,不是很懂您這段程式碼,不知能不能套用在我的程式碼呢?
smart3135 發表於 2020-1-30 22:02

https://www.tpex.org.tw/web/stock/statistics/monthly/result_st44.php?l=zh-tw

上面的程式碼可以抓網頁
也可以指定日期

網頁的抓取法分成

IE法與XMLHTTP等幾大類
我採用XMLHTTP,你自己看程式碼修改看看
如果是公司內網,我沒有看到網桃無法給意見

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題