暱稱: joey0415
中學生
- 帖子
- 361
- 主題
- 57
- 精華
- 0
- 積分
- 426
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- 2003,2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-5-13
- 最後登錄
- 2022-12-8
|
4#
發表於 2020-1-25 16:22
| 只看該作者
請教一下各位VBA高手,利用VBA程式開啟網頁操作這個我會
網頁也設定Visible=False了,但同樣程式碼在不同電 ...
smart3135 發表於 2020-1-21 23:35  - Sub test()
- 年 = 2019
- 股票代碼 = 1259
- Cells.Clear
- Dim oXML As Object
- Set oXML = CreateObject("WinHttp.WinHttpRequest.5.1")
- Dim oHTML As Object
- Set oHTML = CreateObject("HTMLFile")
- With oXML
- .Open "POST", "https://www.tpex.org.tw/web/stock/statistics/monthly/result_st44.php?l=zh-tw", 0
- .setRequestHeader "Content-Type", "application/x-www-form-urlencoded;"
- .setRequestHeader "Origin", "https://www.tpex.org.tw"
- ' .send "ajax=true&l=zh-tw&yy=2020&input_stock_code=1258"
- .send "ajax=true&l=zh-tw&yy=" & 年 & "&input_stock_code=" & 股票代碼
- oHTML.body.innerHTML = convertraw(.responseBody, "UTF-8")
- Debug.Print oHTML.body.innerHTML
- End With
- Dim oTable As Object, oRow As Object, oCell As Object
- Dim i As Integer, j As Integer
- Set oTable = oHTML.getElementsByTagName("table")(2)
- i = 1
- For Each oRow In oTable.Rows
- j = 1
- For Each oCell In oRow.Cells
- Cells(i, j).Value = oCell.innerText
- j = j + 1
- Next oCell
- i = i + 1
- Next oRow
- Set oHTML = Nothing
- Set oXML = Nothing
- End Sub
- Function convertraw(rawdata, char)
- Dim rawstr
- Set rawstr = CreateObject("adodb.stream")
- With rawstr
- .Type = 1
- .Mode = 3
- .Open
- .Write rawdata
- .Position = 0
- .Type = 2
- .Charset = char
- convertraw = .ReadText
- .Close
- End With
- Set rawstr = Nothing
- End Function
複製代碼 |
|