ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ½Ð°Ý¤U¸ü¿Ä¸ê¿Ä¨÷ºô­¶

[µo°Ý] ½Ð°Ý¤U¸ü¿Ä¸ê¿Ä¨÷ºô­¶

¥»©«³Ì«á¥Ñ GBKEE ©ó 2016-2-23 10:38 ½s¿è

GBKEE¡Bjoey0415¤Î¦U¦ì¤j¤j§A¦n

·Q½Ð±Ð§A¡A§Ú¥Ø«e¦b¸Õ¤U¸ü­ÓªÑ¨C¤éªº¿Ä¸ê¿Ä¨÷ºô­¶http://www.twse.com.tw/ch/trading/exchange/MI_MARGN/MI_MARGN.php¡Aª¦¤å®É¦³¬Ý¨ì³o­Ójoey0415¤j¤j¼¶¼gªº(http://forum.twbts.com/viewthrea ... a=pageD1&page=2)ªºµ{¦¡½Xex()¨ç¦¡¡A¦ý¬O¸ÕµÛ¥h°õ¦æ®É¡A°õ¦æ¨ì   Set evt = .Document.createEvent("HTMLEvents") ®É¡A´N¥X²{ª«¥ó¤£¤ä´©¦¹ÄÝ©Ê»P¤èªk¿ù»~¡A¤£¾å±o
joey0415¡BGBKEE¤j¤j¥i¥HÀ°¦£¨ó§U¶Ü

Sub ex()

    With CreateObject("internetexplorer.application")
        .Visible = True
        .Navigate "http://www.twse.com.tw/ch/trading/exchange/MI_MARGN/MI_MARGN.php"
        Do Until .ReadyState = 4
            DoEvents
        Loop
        
        .Document.getElementById("date-field").Value = "104/08/12" '¶ñ¤J
         
        '---------¡A¤º«Øªºfireevent ªºonchange¥¢®Ä¡A§ï¥Î½Õ¥Îjsªº¤èªk--------
        Set evt = .Document.createEvent("HTMLEvents")
        evt.initEvent "change", True, False
        Set lst = .Document.all("selectType") 'optionªºname¬OselectType¡A¦ýgetElementsByNameµLªk³B²z¡A­nall¤~¦æ
        lst.selectedIndex = 0
        lst.dispatchEvent evt
   
        .Document.all("query-button").Click


         Do While .ReadyState <> 4 Or .Busy: DoEvents: Loop

        Application.Wait Now + TimeValue("00:00:5")
'        Stop
        
'        For Z = 0 To 10
'        MsgBox .Document.getElementsByTagName("table")(Z).innerText
'        Next
            Stop
        Set hTable = .Document.getElementsByTagName("table")(3) '²Ä4­Ótable
'        tt = hTable.Rows.Length
'        qq = hTable.Rows(2).Cells.Length

            With ActiveSheet
                For i = 1 To hTable.Rows.Length - 1 '«e3­Ó¬O¼ÐÃD»PªÅ¥Õ¸õ¹L
                    For j = 0 To hTable.Rows(i).Cells.Length - 1
                        .Cells(i, j + 1) = hTable.Rows(i).Cells(j).innerText
                    Next
                Next
            End With

        .Quit
'        MsgBox "OK"
    End With
   
End Sub

¦^´_ 1# ashin1981
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.         Dim xDate As String, hTable As Object, i As Integer, j As Integer
  4.         xDate = "2016/01/14"
  5.         With CreateObject("InternetExplorer.Application")
  6.             .Visible = True
  7.             .Navigate "http://www.twse.com.tw/ch/trading/exchange/MI_MARGN/MI_MARGN.php"
  8.             Do While .Busy Or .readyState <> 4: DoEvents: Loop
  9.             .Document.getElementById("date-field").Value = Format(xDate, "EE/MM/DD") '¶ñ¤J
  10.             '---------¡A(IE8 ª©¥»¨Ï¥Î¤º«Øªºfireevent ªºonchange)¡A°ª©óIE8ª©¥»§ï¥Î½Õ¥Îjsªº¤èªk--------
  11.             '   Set evt = .Document.createEvent("HTMLEvents")
  12.             '   evt.initEvent "change", True, False
  13.             ' Set lst = .Document.all("selectType") 'optionªºname¬OselectType¡A¦ýgetElementsByNameµLªk³B²z¡A­nall¤~¦æ
  14.             '   lst.selectedIndex = 0
  15.             '   lst.dispatchEvent evt
  16.             .Document.all("query-button").Click
  17.             '*****Application.Wait Now + TimeValue("00:00:5") ****
  18.             Do While .Busy Or .readyState <> 4: DoEvents: Loop
  19.             Do:    DoEvents:     Loop Until InStr(.Document.body.outerText, Format(xDate, "EE¦~MM¤ëDD¤é") & Space(1) & "«H¥Î¥æ©ö²Î­p")
  20.             'ºô­¶¤w§ó·s¬°¬d´M¤é´Áªº¸ê®Æ
  21.             Do
  22.                 Do
  23.                     Set hTable = .Document.getElementsByTagName("table")(3) '²Ä4­Ótable
  24.                 Loop Until Not hTable Is Nothing
  25.             Loop Until hTable.Rows.Length = 5  '¨ú±o§¹¾ãª«¥ó
  26.             '*********    ¥Î°j°é ¨ú¥N  Application.Wait (µ¥­Ô)********
  27.             With ActiveSheet
  28.                 .UsedRange.Clear
  29.                 For i = 1 To hTable.Rows.Length - 1 '«e3­Ó¬O¼ÐÃD»PªÅ¥Õ¸õ¹L
  30.                 'For i = 0 To hTable.Rows.Length - 1 '¼ÐÃD¶}©l
  31.                     For j = 0 To hTable.Rows(i).Cells.Length - 1
  32.                         .Cells(i, j + 1) = hTable.Rows(i).Cells(j).innertext  ''«e3­Ó¬O¼ÐÃD»PªÅ¥Õ¸õ¹L
  33.                        ' .Cells(i + 1, j + 1) = hTable.Rows(i).Cells(j).innertext
  34.                     Next
  35.                 Next
  36.             End With
  37.             .Quit
  38.             MsgBox "OK"
  39.     End With
  40. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

GBKEE¤j¤j

·PÁ¡A¤w¸Õ¹L¥i¥H¤U¸ü¦Üsheet¡A½Ð°Ý¬O¤°»ò­ì¦]³y¦¨­ì¥»ªºµ{¦¡¤£¯à¨Ï¥Î¡A¬Oºô­¶µ{¦¡¤º³¡¦³§ï¼g¶Ü¡C

TOP

¦^´_ 3# ashin1981

'---------³o¬qµ{¦¡½X»Ý¥Î¦b°ª©óIE8ª©¥»,IE8ª©¤£¾A¥Î³o¬qµ{¦¡½X --------
  1.     Set evt = .Document.createEvent("HTMLEvents")
  2.     evt.initEvent "change", True, False
  3.     Set lst = .Document.all("selectType") 'optionªºname¬OselectType¡A¦ýgetElementsByNameµLªk³B²z¡A­nall¤~¦æ
  4.     lst.selectedIndex = 0
  5.     lst.dispatchEvent evt
  6.     '-----------------------
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : §g¤l¬°¥Ø¼Ð¡A¤p¤H¬°¥Øªº¡C
ªð¦^¦Cªí ¤W¤@¥DÃD