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

[µo°Ý] ¦p¦ó§Ö³t±Nºô­¶¸ê®Æ§ì¨ìexcel¸Ì

[µo°Ý] ¦p¦ó§Ö³t±Nºô­¶¸ê®Æ§ì¨ìexcel¸Ì

http://www.twse.com.tw/zh/page/trading/exchange/STOCK_DAY_AVG.html
¦p¦ó§Ö³t±Nºô­¶¸ê®Æ§ì¨ìexcel¸Ì
ABÄæ¦ì¤À§O¬O¤é´Á¸ò¦¬½L»ù
ÃÒ¥æ©Òªººô§}¦p¤W
¥²¶·¤@­Ó¤ë¤@­Ó¤ë¥h¤J¬d¸ß§¹«á¶K¨ìEXCEL¸Ì
½Ð°Ý¦³¤°»ò¤èªk¥i¥H§Ö³t±o¨ì¥ªÃ䪺µ²ªG

¤é´Á        ¦¬½L»ù
106/01/03        84.3
106/01/04        84.2
106/01/05        84
106/01/06        83.8
106/01/09        83.5
106/01/10        84
106/01/11        84.2
106/01/12        84.3



Download Page Link
https://www.sendspace.com/file/09cahu

¦^´_ 1# paul3063

¸Õ¸Õ¬Ý
  1.     Sub TWSEtest()
  2.       Dim sh As Worksheet
  3.       Dim iDate$, stock$, yYear$, mMonth$, URL$
  4.       Dim arDATA(), Table
  5.       Dim i%, j%

  6.       Set sh = Sheets("¤u§@ªí1")
  7.       sh.Activate
  8.       Cells.Clear
  9.       
  10.       stock = "2330"          '³]©w¥N¸¹
  11.       yYear = "2017"          '³]©w¦~«×
  12.       mMonth = "01"           '³]©w¤ë¥÷
  13.       iDate = yYear & mMonth & "01"
  14.       
  15.       URL = "http://www.twse.com.tw/exchangeReport/STOCK_DAY_AVG?response=Html&date=" & iDate & "&stockNo=" & stock
  16.         
  17.       With CreateObject("InternetExplorer.Application")
  18.             .Visible = False     '  ¤£Åã¥Ü IE
  19.             .Navigate URL
  20.             Do While .readyState <> 4
  21.             DoEvents
  22.             Loop
  23.             
  24.             Set Table = .document.getElementsBytagname("table")(0)
  25.             
  26.             With Table
  27.                   ReDim arDATA(.Rows.Length, .Rows(1).Cells.Length)
  28.                   For i = 0 To .Rows.Length - 1
  29.                         For j = 0 To .Rows(1).Cells.Length - 1
  30.                               On Error Resume Next
  31.                               arDATA(i + 1, j + 1) = .Rows(i).Cells(j).innertext
  32.                         Next
  33.                   Next
  34.             End With
  35.             
  36.             sh.Cells(1, 1).Resize(UBound(arDATA), UBound(arDATA, 2)) = arDATA
  37.             [A1].Select
  38.             
  39.             .Quit       'Ãö³¬ÂsÄý¾¹
  40.             
  41.       End With
  42.       
  43.       Set Table = Nothing
  44.       Set sh = Nothing
  45.       Erase arDATA()

  46. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2017-12-21 17:37 ½s¿è

¦^´_ 1# paul3063


¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex_¤é¦¬½L»ù¤Î¤ë¥­§¡¦¬½L»ù()
  3.     Dim oXmlhttp As Object, oHtmldoc As Object, surl, i, E, r As Double, c As Double
  4.     Dim StockNo As String, xday As String, xRow As Integer, Day1 As Date, Day2 As Date, xTime As Date
  5.      StockNo = [A2]
  6.      Day1 = ActiveSheet.[B2]
  7.      Day2 = ActiveSheet.[C2]
  8.     For i = 0 To DateDiff("m", Day1, Day2)
  9.         xday = Format(DateAdd("m", i, Day1), "yyyymmdd")
  10.         Set oXmlhttp = CreateObject("msxml2.xmlhttp")
  11.         Set oHtmldoc = CreateObject("htmlfile")
  12.         surl = "http://www.twse.com.tw/exchangeReport/STOCK_DAY_AVG?response=html&date=" & xday & "&stockNo=" & StockNo
  13.         With oXmlhttp
  14.             .Open "Get", surl, False
  15.             .Send
  16.             If InStr(.responseText, "«Ü©êºp¡A¨S¦³²Å¦X±ø¥óªº¸ê®Æ!") Then
  17.                 MsgBox "«Ü©êºp¡A¨S¦³²Å¦X±ø¥óªº¸ê®Æ!" & vbLf & "½ÐÀˬd ªÑ²¼¥N¸¹"
  18.                 Exit Sub
  19.             ElseIf InStr(.responseText, "¬d¸ß¤é´Á¤p©ó88¦~1¤ë5¤é¡A½Ð­«·s¬d¸ß") Then
  20.                 MsgBox "¬d¸ß¤é´Á¤p©ó88¦~1¤ë5¤é!" & vbLf & "½ÐÀˬd °_©l¤é´Á"
  21.                 Exit Sub
  22.             ElseIf InStr(.responseText, "¬d¸ß¤é´Á¤j©ó¤µ¤é¡A½Ð­«·s¬d¸ß") Then
  23.                 MsgBox "¬d¸ß¤é´Á¤j©ó¤µ¤é" & vbLf & "½ÐÀˬd ²×¤î¤é´Á"
  24.                 Exit Sub
  25.             End If
  26.             oHtmldoc.write .responseText
  27.         End With
  28.         With oHtmldoc
  29.             Set E = .all.tags("table")(0)
  30.             With ActiveSheet
  31.                 If i = 0 Then .UsedRange.Offset(2).Clear
  32.                 xRow = .Cells(Rows.Count, "a").End(xlUp).Row + IIf(i = 0, 1, 0)
  33.                
  34.                 For r = IIf(i = 0, 0, 2) To E.Rows.Length - 2 '-1 ¥iÅã¥Ü¤ë¥­§¡¦¬½L»ù
  35.                     For c = 0 To E.Rows(r).Cells.Length - 1
  36.                     .Cells(xRow + r + IIf(i > 0, -1, 0), c + 1) = E.Rows(r).Cells(c).innertext
  37.                     Next
  38.                 Next
  39.             End With
  40.     End With
  41.     Set oXmlhttp = Nothing
  42.     Set oHtmldoc = Nothing
  43.     Application.StatusBar = "****  " & Format(DateAdd("m", i, Day1), "ee/mm") & "  ¸ü§¹²¦ *****"
  44.     '**** ªÑ¥«Àç·~®É¶¡¦³¬y¶qºÞ¨î **
  45.     'xTime = Time + #12:00:09 AM#   '¶¡¹j 10¬í
  46.     'Do :    DoEvents:    Loop Until Time > xTime
  47.    '**********©Î¬O¤U¦¡**********************
  48.     'Application.Wait Now + #12:00:09 AM#
  49.     '********************************
  50.     Next
  51.     MsgBox "ok"
  52. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 3# GBKEE


GBKEE¤j¡A¥i¥H¤F¡A¸U¤À·PÁ¡A±z¯uªº¬O¤Ó±j¤F

¥t¥~·Q°Ý¤@¤U«ç¼Ë¥ÎQueryTable¨Ó§ì¨úºô­¶¸ê®Æ
GOOGLE§ä¨ì¤@ÃD¡A±z¤§«e¦^µª¹Lªº°ÝÃD
http://forum.twbts.com/viewthread.php?tid=3218
¥i¬O¦n¹³µLªk°õ¦æ¡A¤£ª¾¹D¨ºÃä¥X¤F°ÝÃD
©_¼¯ºô§}°ÝÃD?
¦pªG¥ÎÃÒ¥æ©Òªº¥i¥H¶Ü

TOP

¦^´_ 2# Scott090


Scott090¤j¡A
±zªº³o¥÷¥¨¶°¦n¹³¤£¦æ¡A
µe­±¥X²{
       
        106¦~01¤ë¡@2330 ¥x¿n¹q ¤é¦¬½L»ù¤Î¤ë¥­§¡¦¬½L»ù
        ¤é´Á
        106/01/03
        106/01/04
        106/01/05
        106/01/06
        106/01/09
        106/01/10
        106/01/11
        106/01/12
        106/01/13
        106/01/16
        106/01/17
        106/01/18
        106/01/19
        106/01/20
        106/01/23
        106/01/24

TOP

¦^´_ 5# paul3063

½Ð¦b¼Ò²Õ³Ì¤W¤è¥[¤J Option ¦p¤U¡G

    Option Explicit
    Option Base 1
   
    Sub TWSEtest()
.....

end sub

TOP

¦^´_ 6# Scott090


³o¬O¶]¥Xªºµ²ªG
   

TOP

¦^´_ 7# Scott090


Scott090¤j¡A¥i¥H¤F¡AÁÂÁ¡C
¥i¬O§Ú±N¸Ì­±¥N½X§@¤p­×¥¿¡A«o¤S¤£¦æ¤F¡A
±z¥i¥H¦AÀ°§Ú¬Ý¤@¤U¶Ü?

     ' stock = "2330"          '³]©w¥N¸¹
     ' yYear = "2017"          '³]©w¦~«×
     ' mMonth = "01"           '³]©w¤ë¥÷
     
     stock = Range("A1")
     yYear = Range("B1")
     mMonth = Range("C1")

TOP

¦^´_ 6# Scott090


Scott090¤j¡A
­è­èµo²{¬OCells.Clear³o¬qªº°ÝÃD¡A³o¼ËÀ³¸Ó¬O¨S¦³°ÝÃD¤F¡AÁÂÁ±z¡C

TOP

¦^´_ 7# Scott090


Scott090¤j¡A
­è­è¤~µo²{±zªº¤èªk¥u¯à¤U¸ü³æ¤ë¥÷ªº¡A§Ú­nªºÀ³¸Ó¬OGBKEE¤jªº¨º¥÷µª®×µ²ªG¡A¥i¥H¦n´X­Ó¤ë¦X¨Öªº¡C

TOP

        ÀR«ä¦Û¦b : ¬°¦Û¤v§äÂǤfªº¤H¥Ã»·¤£·|¶i¨B¡C
ªð¦^¦Cªí ¤W¤@¥DÃD