Board logo

標題: [發問] 無法在網頁輸入日期資料,應該如何修正代碼呢? [打印本頁]

作者: justintoolbox    時間: 2015-7-15 09:51     標題: 無法在網頁輸入日期資料,應該如何修正代碼呢?

各位前輩們,大家好:

目前遇到的問題是:『自己設定一個日期(如20150522)並填入該網頁的資料日期欄位,結果卻是變成空白,網頁無法顯示我輸入的內容裡面。』
想請問代碼應該如何修正,才能解決這個問題?
期望各位前輩們能出手相救... 感謝!

代碼如下:
  1. Sub Ex()
  2. my_url = "http://www.tdcc.com.tw/smWeb/QryStock.jsp"
  3. With CreateObject("InternetExplorer.Application")
  4.         .Visible = True
  5.         .navigate my_url
  6.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  7. With .document
  8.         For Each A In .getElementsByTagName("SELECT")
  9.             If A.Name = "SCA_DATE" Then A.Value = "20150522"
  10.         Next
  11. End With
  12. .Quit
  13. End With
  14. End Sub
複製代碼

作者: stillfish00    時間: 2015-7-15 19:09

本帖最後由 stillfish00 於 2015-7-15 19:13 編輯

回復 1# justintoolbox
日期要下選單原本就有才行
  1. Sub Ex()
  2.     my_url = "http://www.tdcc.com.tw/smWeb/QryStock.jsp"
  3.     With CreateObject("InternetExplorer.Application")
  4.         .Visible = True
  5.         .navigate my_url
  6.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  7.         With .document
  8.             For Each A In .getElementsByTagName("SELECT")
  9.                 If A.Name = "SCA_DATE" Then
  10.                     For Each opt In A.Options
  11.                         If opt.innerText = "20150522" Then
  12.                             opt.Selected = True
  13.                             Exit For
  14.                         End If
  15.                     Next
  16.                     Exit For
  17.                 End If
  18.             Next
  19.         End With
  20.         .Quit
  21.     End With
  22. End Sub
複製代碼

作者: GBKEE    時間: 2015-7-15 20:10

回復 1# justintoolbox
也可顯示資料日期
  1. Option Explicit
  2. Sub Ex()
  3.     Dim my_url, A, AR(), i As Integer, Msg As Integer
  4.     Dim Sca_Date As String
  5.     Sca_Date = "2015020"  '給錯誤的日期
  6.     'Sca_Date = "20150105"
  7.     my_url = "http://www.tdcc.com.tw/smWeb/QryStock.jsp"
  8.    
  9.     With CreateObject("InternetExplorer.Application")
  10.         .Visible = True
  11.         .Navigate my_url
  12.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  13.         For Each A In .document.getelementsbytagname("SELECT")
  14.             If A.Name = "SCA_DATE" Then
  15.                 ReDim AR(1 To A.Length)
  16.                 For i = 1 To A.Length  '指"SELECT"的"OPTION"數量
  17.                     If Sca_Date = Trim(A(i - 1).innerHTML) Then Msg = i
  18.                     AR(i) = A(i - 1).innerHTML  '日期導入陣列
  19.                 Next
  20.                 If Msg Then
  21.                     A(Msg - 1).Selected = True
  22.                 Else
  23.                     MsgBox " 資料日期  沒有 " & Sca_Date & vbLf & Join(AR, vbTab)
  24.                 End If
  25.                 Exit For
  26.             End If
  27.         Next
  28.     End With
  29. End Sub
複製代碼

作者: justintoolbox    時間: 2015-7-15 21:36

真的太棒了!!!
太感謝這裡的前輩stillfish00 , 超級版主GBKEE!
真的非常受用,增長了許多知識,非常謝謝你們!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)