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

ªÑ»ù¥N¸¹©M°_©l¤é´Áªº§ì¨ú

«ü©w¤U¸ü3¦~¾ú¥vªÑ»ùªº¸ê®Æ

³Â·Ð½Ð¦U¦ì°ª¤â±M®a¤Îª©¥D«ü¾É¸Ñ´b¡G
¤U­±ºô§}¤¤¥i«ü©w¬d¸ß¾ú¥v¸ê®Æªº°Ï¶¡¿ï¶µ(¹w³]­È¬°20¤Ñ)¡A¦³¥ý¦bºô¯¸¤¤§ó§ï¬d¸ß°Ï¶¡¬°3¦~¡C
¦ý¨C¦¸¤U¸ü¶×¤JEXCELªº¸ê®Æ¥u¦³21¤Ñ¡A¤£ª¾»Ý­n¥[¤J¤°»òµ{¦¡½X¤~¥i¸Ñ¨M¡H¡H
www.cnyes.com/twstock/ps_historyprice/6282.htm
  1. Sub Macro1()

  2.     With ActiveSheet.QueryTables.Add(Connection:= _
  3.         "URL;http://www.cnyes.com/twstock/ps_historyprice/6282.htm", Destination:= _
  4.         Range("A1"))
  5.         .RefreshStyle = xlOverwriteCells
  6.         .WebTables = "2"
  7.         .Refresh BackgroundQuery:=False
  8.     End With
  9.     ActiveWindow.SmallScroll Down:=-21

  10. End Sub
½Æ»s¥N½X
¦]¬°YAHOO¡BGOOGLEªº¾ú¥v¸ê®Æ¦³®ÉµLªkÅã¥Ü¨Ò¥~(¶}¥ð¥«)ªº¼Æ¾Ú¡A³y¦¨­pºâMA­Èªº¼Æ¾Ú¤£·Ç½T¡C
·PÁ¦U¦ì°ª¤â±M®a¼·ªÅ¸Ñ´b¡C

TOP

¦^´_ 2# GBKEE

·PÁÂGBKEEª©¥Dªº¼ö¤ß¥Î¤ßªº¸Ñ´b¡C
¦]¦ì¥»¤H¤£§÷¡A¤£¬Æ¤F¸Ñ¤U¦Cµ{¦¡½Xªº»yªk¤Î°õ¦æ¥Î·N¡C
ÁٷнÐGBKEEª©¥D©âªÅ¥i»¡©úµù¸Ñ´b«ü¾É¤@¤U¶Ü¡H
  1. With CreateObject("InternetExplorer.application")
  2.         .Navigate "http://www.cnyes.com/twstock/ps_historyprice/" & Code & ".htm"
  3.         '.Visible = True
  4.         Application.StatusBar = Code & " ¾ú¥v¦æ±¡ µ¥­Ô¤¤..."
  5.         Do While .Busy Or .ReadyState <> 4
  6.              DoEvents
  7.         Loop
  8.         Set A = .Document.getelementsbytagname("input")
  9.         A(5).Value = d_Start
  10.         A(6).Value = d_End
  11.         A(7).Click
  12.         T = Time
  13.         Do
  14.             DoEvents
  15.         Loop Until Time > T + #12:00:08 AM#
  16.         Set A = .Document.getelementsbytagname("table")(1)
  17.         Application.StatusBar = Code & " ¾ú¥v¦æ±¡ ¤U¸ü¤¤..."
  18.         Cells(2, 1) = .Document.getelementsbytagname("span")(79).innertext
½Æ»s¥N½X
GBKEEª©¥D¡G°õ¦æµ{¦¡¹Lµ{¤¤¡Aµo²{¤U¸ü¦ÜEXCEL¤¤ªº¸ê®Æ¬O¦³¥Ñ¡qSh.Cells(i + 3, c + 1) = A.Rows(i).Cells(c).innertext¡r¦Ó¨Ó¡A
                        ¤£¦P©ó¤U¸üºô­¶¸ê®Æ¡qWebTables = "number"¡r¡A©Ò¥Îªº«ü¥O¤èªk¡C
§Ú¦³¤Wºô¦¬·j´M¬ÛÃö¸ê®Æ¡A¤j¬ù²M·¡ª¾¹D¡A¤W¦Cµ{¦¡½X¦¡¬O¦bVBAµ{¦¡¤¤±Ò°Êºô­¶ªº(javascript)«ü¥O¡C
¤£ª¾¬O»P¤£¬O©Î¤@ª¾¥b¸Ñ¡I·PÁÂGBKEEªº«ü¾É¡C

TOP

¦p¦ó±N¤U¸üªºªÑ¥«¨C¤é½L«á¦æ±¡(»s§@¦¨¦UªÑªº¾ú¥vªÑ»ù¸ê®Æ)

·Ð½Ð¦U¦ì°ª¤â±M®a¸Ñ´b¡AÁÂÁÂ!
½Ð°Ý¦³¿ìªk±N¤U¦Cµ{½Xªº¥[¥H­×§ï¡A§â¨C¤é¦UªÑªº½L«á¦æ±¡©Ò±oªº¸ê®ÆÂà´«¦¨(¦UªÑªº¾ú¥v¸ê®Æ)¡C
  1. Sub ¤U¸üºô¯¸¸ê®Æ()
  2.     Dim Startmonth As String, Startday As String, xDate As Date, Msg As Boolean, Sh As Worksheet
  3.     On Error GoTo EX                        'µ{¦¡°õ¦æ¤¤¦³¿ù»~®É¸õ¨ì EX: Ä~Äò°õ¦æµ{¦¡
  4.     xDate = Date                            '·í¤é
  5.     Set Sh = ActiveSheet                    '«ü©w¤u§@ªí:¦¹µ{¦¡¦b¥ô¦ó¼Ò²Õ¤¤¬Ò¥i¥Î
  6. EX:
  7.     If Err.Number <> 0 Or Msg = True Then   '·í¤é(©|¥¼¦³¸ê®Æ:¿ù»~) ©Î ¥ð¥«
  8.         [color=Red]xDate = xDate - 1    (À³§ï¬°xDate = Date - 1)[/color]     °²¦p¥ð¥«¶W¹L1¤Ñ¥H¤W(2,3,4,5,6,¬K¸`9¤Ñ)¡A¤S¦p¦ó­×§ï©O?         
  9.         Err.Clear
  10.         Msg = False
  11.     End If
  12.     Sh.UsedRange.Clear                       '²M²z¤u§@ªí¤w¨Ï¥Îªº½d³ò
  13.     Startday = Format(xDate, "YYYYMMDD")
  14.     Startmonth = Format(xDate, "YYYYMM")
  15.         '¤U¸üºô¯¸ªººô§}
  16.     With Sh.QueryTables.Add(Connection:="URL;http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report" & Startmonth & "/A112" & Startday & "ALLBUT0999_1.php?select2=ALLBUT0999&chk_date=" & Format(xDate, "E/MM/DD"), Destination:=Range("A3"))
  17.         .RefreshStyle = xlOverwriteCells                            '§ì¨úºô­¶ªº²Ä10­Óªí®æ§@¬°¶×¤J¸ê®Æ
  18.         .WebTables = "10"
  19.         .Refresh BackgroundQuery:=False                             '·í¤é(©|¥¼¦³¸ê®Æ:¿ù»~)
  20.         If Application.CountA(Sh.QueryTables(1).ResultRange) = 0 Then  '¥ð¥« ¨S¦³¸ê®Æ
  21.             Msg = True
  22.             GoTo EX
  23.         End If
  24.     End With
  25.     With Sh.UsedRange
  26.         .Font.Size = 12
  27.         .EntireColumn.AutoFit
  28.     End With
  29. End Sub
½Æ»s¥N½X
¦]¬°§Ú¤w¦³¤U¸ü¦UªÑ¾ú¥vªÑ»ùªº¸ê®Æµ{¦¡©M¸ê®Æ¡A¥B¨Ì¥N½X¤ÀÃþ¦¨¦h­Ó¬¡­¶Ã¯¨Ò¦p¡G
workbook(1.xls)¦³worksheet(1102)¡Bworksheet(1103).....µ¥¡C1¬¡­¶Ã¯¤¤¦³¥N½X¡A²Ä¤@­Ó¼Æ¦r¦³[1]ªº¦h­Ó¤u§@ªí¡C
workbook(2.xls)¦³worksheet(2102)¡Bworksheet(2103).....µ¥¡C2¬¡­¶Ã¯¤¤¦³¥N½X¡A²Ä¤@­Ó¼Æ¦r¦³[2]ªº¦h­Ó¤u§@ªí¡C
......
......
workbook(9.xls)¦³worksheet(9102)¡Bworksheet(9103).....µ¥¡C9¬¡­¶Ã¯¤¤¦³¥N½X¡A²Ä¤@­Ó¼Æ¦r¦³[9]ªº¦h­Ó¤u§@ªí¡C
©Ò¥H·Q½Ð°Ý¦³¨S¦³§ó²«K§Ö³tªº¤èªk¡CÁÂÁ¦U¦ì±M®a«e½úªº©âªÅ«ü¾É¡C

TOP

        ÀR«ä¦Û¦b : ¡i°µ¤Hªº¶}©l¡j¨C¤@¤Ñ³£¬O¬G¤Hªº¶}©l¡A¨C¤@­Ó®É¨è³£¬O¦Û¤vªºÄµ±§¡C
ªð¦^¦Cªí ¤W¤@¥DÃD