返回列表 上一主題 發帖

[發問] VBA如何處理網頁中的選擇項使網頁更新

[發問] VBA如何處理網頁中的選擇項使網頁更新

請高手大師相助

要取得網頁中的資料須先選擇項目,但就不知如何做
例如這個網頁,選擇其中一個選項頁面的內容就更新了
  1. Sub EX()
  2.     Dim URL As String, A As Object, i As Integer, j%
  3.     Dim AA, BB, AB$, stationName$
  4.     URL = "http://e-service.cwb.gov.tw/HistoryDataQuery/index.jsp"
  5.     Application.StatusBar = "查詢網頁  ..."
  6.     With CreateObject("InternetExplorer.Application")
  7.         .Visible = True     '  是否顯示 IE
  8.         .Navigate URL
  9.         Do While .ReadyState <> 4
  10.             DoEvents
  11.         Loop
  12.         Application.Wait Time + #12:00:05 AM#                '等候網頁
  13.         Set A = .document.All
  14.         On Error Resume Next
  15.         For i = 0 To A.Length - 1
  16.             If A(i).tagname = "OPTION" Then
  17.                 If A.Item(i).Value <> "" Then
  18.                     AA = AA & "," & A(i).Value          '取得測站編碼
  19.                     BB = BB & "," & A(i).innertext      '取得選擇項
  20.                 End If
  21.             End If
  22.         Next
  23.         AA = Split(AA, ",")     'String to Array
  24.         BB = Split(BB, ",")
  25.         
  26. ' 底下是問題點,如何變換網頁中之 "測站" 選項 使頁面更新===============
  27. '======== 及 "資料格式" 選項 來更新網頁資料 ========================
  28. '        For i = 0 To UBound(BB)
  29. '            .document.getElementsBytagname("SELECT").Value = BB(i)
  30. '            .submit
  31. '        Next
  32. ' 以上是問題 =========================


  33.         .ExecWB 17, 2     'Select All
  34.         .ExecWB 12, 2     'Copy selection
  35.         
  36.         With ActiveSheet
  37.             .Cells.Clear
  38.             .Range("A1").Activate
  39.             .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
  40.                                 False, NoHTMLFormatting:=True
  41.         End With
  42.         
  43.         .Quit
  44.     End With
  45.     Application.StatusBar = False
  46. End Sub
複製代碼

回復 2# joey0415


    請問如何用VBA 在網頁面的 "測站" 選項處做選擇呢?
亦即如果人工操作的話就是:1.按一下選項紐 2.在下拉展開的站別選擇, 頁面資料變了,網址仍然 停留在 "http://e-service.cwb.gov.tw/HistoryDataQuery/index.jsp"

謝謝

TOP

回復 5# joey0415


    不好意思,請問
1. " http://e-service.cwb.gov.tw/HistoryDataQuery/QueryDataController.do?command=doQueryStation&station_no="
    是如何得到的 ?

2. 還是期望能直接變更選項的方法,是否煩請揭露

感恩

TOP

回復 7# joey0415


    非常謝謝熱心地提供指導
有不少網頁資料是需要用透過選擇項目後才能轉到資料頁的,這個方法應該可以用到此類情況吧?

TOP

        靜思自在 : 成功是優點的發揮,失敗是缺點的累積。
返回列表 上一主題