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

[µo°Ý] ­ÓªÑ¾ú¥v»ù®æªí

¥»©«³Ì«á¥Ñ GBKEE ©ó 2020-4-14 18:27 ½s¿è

¦^´_ 5# Scott090
½Ð¤F¸Ñ ºô­¶±±¨î¶µ¤º®e
--https://invest.cnyes.com/twstock/tws/2330/history
  1. '****¿ï¾Ü®É¶¡°Ï¶¡ªº¦U«ö¶s   [ ºô­¶±±¨î¶µ¤º®e]  ********
  2. '<button class="jsx-197276814 period_btn" data-period="1d">1¤é</button>
  3. '<button class="jsx-197276814 period_btn" data-period="5d">5¤é</button>
  4. '<button class="jsx-197276814 period_btn" data-period="3m">3¤ë</button>
  5. '<button class="jsx-197276814 period_btn" data-period="6m">6¤ë</button>
  6. '<button class="jsx-197276814 period_btn" data-period="thisYear">¤µ¦~¥H¨Ó</button>
  7. '<button class="jsx-197276814 period_btn" data-period="1y">1¦~</button>
  8. '<button class="jsx-197276814 period_btn" data-period="5y">5¦~</button>
  9. '<button class="jsx-197276814 period_btn" data-period="10y">³Ì¤j</button>
  10. '<button class="jsx-197276814 period_btn period_btn--active" data-period="3m">3¤ë</button>
  11. '****¿ï¾Ü®É¶¡°Ï¶¡«á«ö¤U (®M¥Î) ªº«ö¶s   [ ºô­¶±±¨î¶µ¤º®e]  ********
  12. '<button class="jsx-197276814 action_submit">®M¥Î</button>
  13. ''****¿ï¾Ü®É¶¡°Ï¶¡«á«ö¤U(®M¥Î)«ö¶s©ÒÅã¥Üªº¤é´Á      [ ºô­¶±±¨î¶µ¤º®e]  ********
  14. '<span class=    "jsx-197276814 btn_txt">2020/04/09 - 2020/04/14</span></button>
  15. ''****ºô­¶©ÒÅã¥ÜªÑ²¼ªº¦WºÙ      [ ºô­¶±±¨î¶µ¤º®e]  ********
  16. '<h2 class="jsx-969407034 jsx-1444699802 sub_title">¥x¿n¹q</h2>
½Æ»s¥N½X
Ū¨úºô­¶¸ê®Æªºµ{¦¡½X ½Æ»s¦b¦P¤@¼Ò²Õ¤¤
  1. Option Explicit
  2. Sub Ex_¹d¦ëºô_¾ú¥v»ù®æ()
  3.     Dim e As Object, R As Double, C As Integer
  4.      Àˬd
  5.     Application.ScreenUpdating = False
  6.     With CreateObject("InternetExplorer.Application")
  7.       '  .Visible = True
  8.         .Navigate "https://invest.cnyes.com/twstock/tws/" & [B1] & "/history"
  9.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  10.         If InStr(.Document.BODY.INNERTEXT, "±z·Q¬Ýªº­¶­±¤£¦s¦b") Then
  11.             .Quit    ''**   ±z·Q¬Ýªº­¶­±¤£¦s¦b
  12.             MsgBox [B1] & "  §ä¤£¨ì ??? ":             End
  13.         End If
  14.         For Each e In .Document.ALL.TAGS("BUTTON")               '**«ü©w®É¶¡°Ï¶¡
  15.             If e.CLASSNAME = "jsx-197276814 period_btn" And e.INNERTEXT = [D1].Text Then e.Click:  Exit For
  16.         Next
  17.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  18.         For Each e In .Document.ALL.TAGS("BUTTON")               '**«ü©w®É¶¡°Ï¶¡«á«ö¤U(®M¥Î)Áä
  19.             If e.CLASSNAME = "jsx-197276814 action_submit" And e.INNERTEXT = "®M¥Î" Then e.Click: Exit For
  20.         Next
  21.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  22.         For Each e In .Document.ALL.TAGS("H2")                            '**Åã¥ÜªÑ²¼ªº¦WºÙ
  23.             If e.CLASSNAME = "jsx-969407034 jsx-1444699802 sub_title" Then Range("B2") = e.INNERTEXT:  Exit For
  24.         Next
  25.         For Each e In .Document.ALL.TAGS("SPAN")                       '**Åã¥Ü©Ò«ü©wªº®É¶¡°Ï¶¡
  26.             If e.CLASSNAME = "jsx-197276814 btn_txt" Then Range("D2") = e.INNERTEXT:  Exit For
  27.         Next
  28.         '*********************µ¥­Ô¸ê®Æ¤U¸ü§¹¦¨***********************************************
  29.         Do While .Busy Or .readyState <> 4 And .Document.ALL.TAGS("table")(0) Is Nothing: DoEvents: Loop
  30.         '********************¸ê®Æ¤º®e¾É¤J¤u§@ªí***********
  31.         With .Document.ALL.TAGS("table")(0)
  32.             For R = 0 To .Rows.Length - 1
  33.                 For C = 0 To .Rows(R).Cells.Length - 1
  34.                     Cells(R + 3, C + 1) = .Rows(R).Cells(C).INNERTEXT
  35.                 Next
  36.             Next
  37.         End With
  38.         .Quit     '*********Ãö³¬ºô­¶
  39.     End With
  40.     [f1] = "***¸ê®Æ¤U¸ü §¹¦¨***"
  41.    Exit Sub
  42. End Sub
  43. Private Sub Àˬd()
  44.          ''**¿ï¾Ü®É¶¡°Ï¶¡-> Range("B2") ªº³B¦s®æ ¾É¤J[ÅçÃÒ¸ê®Æ]
  45.         With Range("D1").Validation
  46.             .Delete
  47.             .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
  48.             xlBetween, Formula1:="1¤é,5¤é,3¤ë,6¤ë,¤µ¦~¥H¨Ó,1¦~,5¦~,³Ì¤j"   '
  49.         End With
  50.         If [B1] = "" Or [D1] = "" Then    '** Range("B2")  »Ý¬OªÑ²¼¥N¸¹
  51.             MsgBox "ªÑ²¼¸¹½X??  Or ®É¶¡°Ï¶¡ >>"
  52.              End         '***µ²§ôµ{¦¡
  53.          End If
  54.         UsedRange.Offset(1).Clear
  55.       [f1] = "***¸ê®Æ¤U¸ü¤¤....***"
  56.       Application.ScreenUpdating = True
  57.       Application.Wait (Time + #12:00:01 AM#)
  58. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¤H¤£©È¿ù¡A´N©È¤£§ï¹L¡A§ï¹L¨Ã¤£Ãø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD