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

ÂàWeb¸ê®Æ°ÝÃD !!

ÂàWeb¸ê®Æ°ÝÃD !!

http://www.twse.com.tw/ch/trading/exchange/FMNPTK/FMNPTKMAIN.php
¨Ï¥Î¦¹ºô­¶¬d¸ß­ÓªÑªº¦~«×¥æ©ö¸ê®Æ ,
¦]ºô­¶§ïª© , ­ì¥»ªºµ{¦¡¤wµLªk§ì¥X¸ê®ÆÂà¦ÜExcel¤¤ ,
·f°t Fiddler ¬d¸ß post ®Éªº URL , ¦ý³£µLªkÂà¥X¤º®e , ¥þ³£¬OªÅªººw ,
¨D¸Ñ , TKS !!

¦^´_ 1# oliwa

¸Õ¸Õ¬Ý
  1. Option Explicit
  2. 'http://www.twse.com.tw/ch/trading/exchange/FMNPTK/FMNPTKMAIN.php
  3. '<input name="CO_ID" type="text" size="8" value="2303">
  4. '<input name="query-button" type="submit" class="board" value="¬d¸ß" onclick="submitForm($CO_ID)">
  5. Sub Ex_TWSE»OÆWÃÒ¨é¥æ©ö©Ò­ÓªÑ¦~¦¨¥æ¸ê°T()
  6.     Dim Co_Id As String, xTable As Object, Sh As Worksheet, R As Integer, C As Integer, i As Integer, ii As Integer
  7.     Co_Id = InputBox("½Ð¿é¤JªÑ²¼¥N½X ")
  8.     With CreateObject("InternetExplorer.Application")
  9.         .Visible = True           '**ºô­¶¤£Åã¥Ü   .Visible = False
  10.         .Navigate "http://www.twse.com.tw/ch/trading/exchange/FMNPTK/FMNPTKMAIN.php?&CO_ID=" & Co_Id
  11.         Do While .Busy Or .readyState <> 4: DoEvents: Loop     'µ¥­Ôºô­¶®_¤J§¹¾ã
  12.         .Document.ALL("query-button").Click                           'ºô­¶¤W«ö¤U¬d¸ßÁä
  13.         Do While .Busy Or .readyState <> 4: DoEvents: Loop     'µ¥­Ôºô­¶®_¤J§¹¾ã
  14.         Set xTable = .Document.ALL.TAGS("Table")                 '³]©wÅܼƬ°ºô­¶ tagname "Table"ªºª«¥ó¶°¦X
  15.         '***³o¬qµ{¦¡½X¨Ñ´M§ä²Ä´X­ÓTable¬°©Ò§A­nªº¸ê®Æ**
  16.        ' For i = 0 To xTable.Length - 1   'Length ºô­¶ª«¥ó¶°¦X­pºâ¤lª«¥óªº¨ç¼Æ
  17.        '     MsgBox "²Ä" & i & "­Ó¸ê®Æ" & vbLf & xTable(i).innertext '**¬d¬Ý§A­nªº¸ê®Æ¬°²Ä´X­ÓTable
  18.        ' Next
  19.         '************************************
  20.         Set Sh = Sheets("SHEET1")       '«ü©w¤u§@­¶
  21.         Sh.UsedRange.Clear                  '²M°£¤u§@­¶
  22.         '*******Ū¨ú¸ê®Æªºµ{¦¡½X******************
  23.         ii = 1
  24.         For i = 3 To 4
  25.             If InStr(xTable(i).innertext, "¬dµL¸ê®Æ¡I") Then MsgBox xTable(i).innertext:  .Quit: Exit Sub
  26.             For R = 0 To xTable(i).Rows.Length - 1                        '
  27.                 For C = 0 To xTable(i).Rows(R).Cells.Length - 1
  28.                     Sh.Cells(R + ii, C + 1) = xTable(i).Rows(R).Cells(C).innertext
  29.                 Next
  30.             Next
  31.             ii = R + 2
  32.         Next
  33.         '****************************************************
  34.         With Sh
  35.             Co_Id = .[a1]
  36.             .[a1] = ""
  37.             .UsedRange.Columns.AutoFit        '**AutoFit ¤èªk ±N½d³ò¤¤ªºÄæ¼e©M¦C°ª½Õ¾ã¬°³Ì¾A·íªº­È¡C
  38.             .[a1] = Co_Id
  39.         End With
  40.         .Quit        'Ãö³¬ºô­¶
  41.     End With
  42. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

Option Explicit
'http://www.twse.com.tw/ch/trading/exchange/FMNPTK/FMNPTKMAIN.php
'<input name="CO_ID" type="text" size="8" value="2303">
'<input name="query-button" type="submit" class="board" value="¬d¸ß" onclick="submitForm($CO_ID)">

Sub TT()
    Dim Co_Id As String, xTable As Object, Sh As Worksheet, R As Integer, C As Integer, i As Integer, ii As Integer
    'Co_Id = stock_no
    Co_Id = InputBox("Input Stock No")
   
    With CreateObject("InternetExplorer.Application")
        .Visible = True     '**ºô­¶¤£Åã¥Ü .Visible = False
        .Navigate "http://www.twse.com.tw/ch/trading/exchange/FMNPTK/FMNPTKMAIN.php?&CO_ID=" & Co_Id
        
        Do While .Busy Or .readyState <> 4: DoEvents: Loop 'µ¥­Ôºô­¶®_¤J§¹¾ã
            .Document.ALL("query-button").Click            'ºô­¶¤W«ö¤U¬d¸ßÁä
               
        Do While .Busy Or .readyState <> 4: DoEvents: Loop    'µ¥­Ôºô­¶®_¤J§¹¾ã
        Set xTable = .Document.ALL.TAGS("Table")        '³]©wÅܼƬ°ºô­¶ tagname "Table"ªºª«¥ó¶°¦X

        '***³o¬qµ{¦¡½X¨Ñ´M§ä²Ä´X­ÓTable¬°©Ò§A­nªº¸ê®Æ**
        'For i = 0 To xTable.Length - 1? ?'Length ºô­¶ª«¥ó¶°¦X­pºâ¤lª«¥óªº¨ç¼Æ
        'MsgBox "²Ä" & i & "­Ó¸ê®Æ" & vbLf & xTable(i).innertext '**¬d¬Ý§A­nªº¸ê®Æ¬°²Ä´X­ÓTable
        ' Next
        '************************************

        Set Sh = Sheets("temp") '«ü©w¤u§@­¶
        Sh.UsedRange.Clear      '²M°£¤u§@­¶

        '*******Ū¨ú¸ê®Æªºµ{¦¡½X******************
        ii = 1
        For i = 3 To 4
            If InStr(xTable(i).innertext, "¬dµL¸ê®Æ¡I") Then MsgBox xTable(i).innertext: .Quit: Exit Sub

            For R = 0 To xTable(i).Rows.Length - 1
                For C = 0 To xTable(i).Rows(R).Cells.Length - 1
                    Sh.Cells(R + ii, C + 1) = xTable(i).Rows(R).Cells(C).innertext
                Next
            Next
        ii = R + 2

        Next

    '****************************************************
    With Sh
        Co_Id = .[a1]
        .[a1] = ""
        .UsedRange.Columns.AutoFit  '**AutoFit ¤èªk ±N½d³ò¤¤ªºÄæ¼e©M¦C°ª½Õ¾ã¬°³Ì¾A·íªº­È¡C
        
        .[a1] = Co_Id
    End With
   
    .Quit  'Ãö³¬ºô­¶
   
    End With
End Sub


°õ¦æ«á¥X²{¿ù»~¦b  If InStr(xTable(i).innertext, "¬dµL¸ê®Æ¡I") Then MsgBox xTable(i).innertext: .Quit: Exit Sub
½Ð¨º»yªk¦³»~ ? ÁÂÁÂ

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2017-3-11 14:00 ½s¿è

¦^´_ 4# oliwa
2003ª©¨S¦³¿ù»~
  1.   .Document.ALL("query-button").Click                           'ºô­¶¤W«ö¤U¬d¸ßÁä
  2.         Do While .Busy Or .readyState <> 4: DoEvents: Loop     'µ¥­Ôºô­¶®_¤J§¹¾ã
  3.         '******¥[¤J³o¬qµ{¦¡½X¸Õ¸Õ¬Ý---À³¬Oºô¸ôÀW¼e³t«×ºC©óµ{¦¡°õ¦æªº³t«×*****
  4.         Do
  5.             Set xTable = .Document.ALL.TAGS("Table")                 '³]©wÅܼƬ°ºô­¶ tagname "Table"ªºª«¥ó¶°¦X
  6.             DoEvents
  7.         Loop Until xTable.Length = 6
  8.                Application.VBE.Windows("°Ï°ìÅܼÆ").Visible = True  '¬d¬Ý¨S¿ù»~³o¦æµ{¦¡½X¥i¬À±¼
  9.         Stop                                                                              '¬d¬Ý¨S¿ù»~³o¦æµ{¦¡½X¥i¬À±¼
  10. '******************

  11.         '***³o¬qµ{¦¡½X¨Ñ´M§ä²Ä´X­ÓTable¬°©Ò§A­nªº¸ê®Æ**
½Æ»s¥N½X
¦p¹Ï¬°¥¿½T xTable ªº¬d¬Ý


·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

§Ú¦A¸Õ¸Õ , ÁÂÁÂ......

TOP

¥Ø«e¨Ï¥Î office 365 , ¦³§ó·s©Ò¥HÀ³¸Ó¬O 2016 ª© ,
IE ¸ê®Æºô­¶¦³¶}±Ò , ¦Ó¥B¤£¥Î«öµe­±¤]¯à±a¥X¸ê®Æ ,
¥u¬O§Û¼g¦Ü sheet ®É¤´¨S¦³¦¨¥\ , §¹¥þ¬OªÅ¥Õºw.......

TOP

¦^´_ 6# oliwa
ªþø¬¤W¨Ó,½Ð¦³°ª©ó2003ª©ªÌÀ°¦£°£¿ù
   
  1. Do
  2.             Set xTable = .Document.ALL.TAGS("Table")                 '³]©wÅܼƬ°ºô­¶ tagname "Table"ªºª«¥ó¶°¦X
  3.             DoEvents
  4.         Loop Until xTable.Length = 6
  5.                Application.VBE.Windows("°Ï°ìÅܼÆ").Visible = True  '¬d¬Ý¨S¿ù»~³o¦æµ{¦¡½X¥i¬À±¼
  6.         Stop                  '¬d¬Ý¨S¿ù»~³o¦æµ{¦¡½X¥i¬À±¼
½Æ»s¥N½X

4#©Ò¥[¤Jªºµ{¦¡½X °õ¦æ¨ìStop, µ{¦¡·|¼È°± °Ï°ìÅܼƵøµ¡¤¤¦³¬Ý¨ì xTable.Length = 6 ¶Ü?
¦p¦³ªí¥Ü¸ê®Æ¦³§ì¨ì, «öF5µ{¦¡Ä~Äò°õ¦æ¤U¥h,¸ê®Æ´N¥X¨Ó¤F
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¬¡­¶Ã¯2.zip (16.58 KB)
Àɮצpªþ¥ó , ½Ð¨ó§U , ÁÂÁ !!

TOP

¦^´_ 8# oliwa
  1. Sub TT(stockNo As String)
  2.     Dim xTable As Object, Sh As Worksheet, R As Integer, C As Integer, i As Integer, ii As Integer
  3.     'Co_Id = stock_no
  4.     'Co_Id = stockNo
  5.     With CreateObject("InternetExplorer.Application")
  6.         .Visible = True     '**ºô­¶¤£Åã¥Ü .Visible = False
  7.         .Navigate "http://www.twse.com.tw/ch/trading/exchange/FMNPTK/FMNPTKMAIN.php?download=csv&CO_ID=" & stockNo
  8.                                                                                                                                                                          '**ª½±µµ¹¤W***
  9.                                                                                                                                                                         
  10.         Do While .Busy Or .readyState <> 4: DoEvents: Loop 'µ¥­Ôºô­¶¸ü¤J§¹¾ã
  11.             .Document.ALL("query-button").Click     'ºô­¶¤W«ö¤U¬d¸ßÁä
  12.         '***ªþø¬¨S¦³Click«á,¦A¤@¦¸ µ¥­Ôºô­¶¸ü¤J§¹¾ã***
  13.         Do While .Busy Or .readyState <> 4: DoEvents: Loop 'µ¥­Ôºô­¶®_¤J§¹¾ã
  14.         '*********************************************
  15.         Do
  16.             Set xTable = .Document.ALL.TAGS("Table")               '³]©wÅܼƬ°ºô­¶ tagname "Table"ªºª«¥ó¶°¦X
  17.             DoEvents
  18.         Loop Until xTable.Length = 6
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

­×¥¿«á¤´¨S¦³¥¿½T§Û¿ý¸ê®Æ ,
¤¤Â_«á , µo²{³£¦b DoEvents ¨º ,
¨Ã¨S¦³Ä~Äò©¹¤U°õ¦æ , ©Ò¥HÁÙ¨S¦³¨ì§Û¿ý¸ê®Æªºµ{¦¡.....
³o¬O¦]¬°Âà¿ý¨ì"Table"§@·~¥¼§¹¦¨ , ÁÙ¬O¥¦¤@ª½¦b´`Àô¤¤ ?
³o³¡¤À¥i¥H¦p¦ó­×¥¿ ? ÁÂÁÂ....

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤Hªº§Ö¼Ö¡D¤£¬O¦]¬°¥L¾Ö¦³±o¦h¡A¦Ó¬O¦]¬°¥L­p¸û±o¤Ö¡C
ªð¦^¦Cªí ¤W¤@¥DÃD