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

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

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

¹d¦ë¾ú¥v»ù®æªíªººô§}­ì¨Ó¬O¡G
       "https://www.cnyes.com/twstock/ps_historyprice/2330.htm"
       ¥B­ì¨Óªº°Ñ¼Æ¬° "&ctl00$ContentPlaceHolder1$startText=" & StartDate ªº®æ¦¡

  ²{¦b¤w§ïÅܦ¨¬°¡G
       "https://invest.cnyes.com/twstock/tws/2330/history"
½Ð°Ý¦p¦ó§ó¥¿¯à¨ú±o¸ê®Æ?

   Sub ¹d¦ë¾ú¥vK_Test()
    Dim sh As Worksheet
    Dim oXmlhttp As Object, oHtmldoc As Object
    Dim URL As String, E As Variant
    Dim StartDate$, EndDate$, submitBTN$, ttt#, tt#
    Dim a As Variant, Table As Object, Ar_Code()
    Dim oDOC As Object, Req$
    Dim Re%, Ce%, k%, n%, i%, dataLen%
    Dim stockno$
    Set sh = Sheets("¸ÕÅç­¶"): sh.Select
   
    stockno = "2330"
      StartDate = Format("2010/01/01", "yyyy-mm-dd")    '°_©l¤é´Á
      EndDate = Format(Date, "yyyy-mm-dd")
      StartDate = "jsx-197276814 date_start=" & StartDate   '(??)
      EndDate = "& jsx-197276814 date_end=" & EndDate   '(??)
      submitBTN = "& jsx-197276814 action_submit=®M¥Î"   '(??)
      Req = StartDate & EndDate & submitBTN                         '(??)
    i = 0: k = 0
    ttt = timer
   
    Set oXmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1")
    Set oHtmldoc = CreateObject("htmlfile")

    Application.DisplayStatusBar = True
    DoEvents
     
    With oXmlhttp
            URL = "https://invest.cnyes.com/twstock/tws/" & stockno & "/history"
            .Open "POST", URL, False
            .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
            .setRequestHeader "Referer", URL
            .setRequestHeader "Cache-Control", "no-cache"
            .setRequestHeader "Pragma", "no-cache"
            .setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
            .send Req
            
             tt = timer
            Do While .Status <> 200 And timer - tt < 3
                DoEvents
            Loop
''''           DoEvents
           
           'ºô­¶¥¼·Ç³Æ¦n¡AÃö³¬­«±Ò
            If .Status <> 200 Then
                Set oXmlhttp = Nothing
               
                Exit Sub
            End If

           oHtmldoc.write .responsetext

            Set E = oHtmldoc.all.tags("TABLE")(0)
            If E Is Nothing Then
                Debug.Print stockno & " E.Table = Null"
                Exit Sub
            End If
            
            dataLen = E.Rows.Length
            ReDim price(dataLen, 8)
                           
            For Re = 1 To dataLen - 1
                  price(Re, 1) = E.Rows(Re).Cells(0).innertext          '¤é´Á
                  For Ce = 1 To 7
                        If Ce = 6 Then
                        
                            '¥h°£ %
                            price(Re, Ce + 1) = Val(Replace(E.Rows(Re).Cells(Ce).innertext, "%", ""))
                        Else
                        
                            '¥h°£¤d¤À¸¹¡A¶}¡B°ª¡B§C¡B¦¬¡Bº¦¶^  º¦% ¦¨¥æ¶q ' ¦¨¥æª÷ÃB
                            price(Re, Ce + 1) = Val(Replace(E.Rows(Re).Cells(Ce).innertext, ",", ""))
                        End If
                        
                  Next
            Next
            
'''           Debug.Print timer - ttt

        
    End With
    Application.DisplayStatusBar = False
    Set oXmlhttp = Nothing
    Set oHtmldoc = Nothing
    Set E = Nothing
   
    [A1].Resize(dataLen, 8) = price
    Exit Sub   
   
End Sub

   ÁÂÁÂ

¦^´_ 2# joey0415

ÁÂÁÂjoey04152¤j ªº«ü¾É
¸ÕµÛ¥h°µ¡A¦³°ÝÃD¦A½Ð±Ð¡C

TOP

¦^´_ 2# joey0415

  ¸Õ§@¦p¤U¡A½Ð joey0415 ¤j°Ñ¦Ò©ò¥¿¡AÁÂÁ¡G

  Option Base 1  
'myArr() ªºÄæ¦ì¡G ¤é´Á¡B¶}¡B°ª¡B§C¡B¦¬¡Bº¦¡Bº¦%¡B±i¼Æ
'¹d¦ë¸ê®Æ¦C ¡G¤é´Á¡B¶}¡B°ª¡B§C¡B¦¬¡B±i¼Æ
Sub ¹d¦ë¾ú¥vK_Test1()
      Dim stockno$, myTEXT, myText1
      Dim sh As Worksheet
      Dim T!, recCAT$, i%, j%, k%, n%, Trade%, BarCntReq%
      Dim myXML As Object, URL$, myArr
      Dim StartDate&, EndDate&
      Const Dat% = 1, Op% = 2, Hi% = 3, Low% = 4, Klose% = 5, CHG% = 6, CHGpercent% = 7, Vol% = 8    'for myArr
      
      StartDate = DateToUnixTime("2020/01/02")
      EndDate = DateToUnixTime(Format(Date, "yyyy/mm/dd"))
      Application.DisplayStatusBar = True
      Application.StatusBar = stockno & " ³sºô¤¤... "
      Set myXML = CreateObject("WinHttp.WinHttpRequest.5.1")
      recCAT = "D"          '¤é½u¹Ï
      URL = "https://ws.api.cnyes.com/charting/api/v1/history?resolution=" & recCAT & "&symbol=TWS:2330:STOCK&from=" & EndDate & "&to=" & StartDate
      T = timer
      With myXML
          .Open "GET", URL, False
          .send
          Do While .Status <> 200
             DoEvents
             If timer - T > 3 Then Exit Do
          Loop
         
          myTEXT = .responsetext                '¤å¦r¦ê .txt
      End With
      
      Set myXML = Nothing
      If myTEXT = "" Then GoTo Exit_Sub
      myTEXT = Split(myTEXT, ":")
      
      myText1 = Split(Replace(Replace(myTEXT(5), "[", ""), "]", ""), ",")
      n = UBound(myText1): ReDim myArr(n + 1, 8)
      For i = 0 To UBound(myText1) - 1
          myArr(i + 1, 1) = UnixTime2Date(myText1(i))
      Next

          k = 4
      For j = 6 To 10         '¶}¡B°ª¡B§C¡B¦¬¡B±i¼Æ
          myText1 = Split(myTEXT(j), ",")
          If j = 10 Then k = 2               '±±¨î myArr ªº¦æ¼Æ(column), ²Ä8¦æ¬O±i¼Æ
          For i = 0 To n - 1
               myArr(i + 1, j - k) = myText1(i)
          Next
          myArr(1, j - k) = Replace(myArr(1, j - k), "[", ""): myArr(n, j - k) = Replace(myArr(n, j - k), "]", "")
      Next j
      For i = 1 To n - 1
          myArr(i, 6) = myArr(i, 5) - myArr(i + 1, 5): myArr(i, 7) = Format(myArr(i, 6) / myArr(i + 1, 5) * 100, "#0.00")    'º¦¶^¡Bº¦¶^%
      Next
      
Exit_Sub:
      Set myXML = Nothing
      Application.StatusBar = ""
      Application.DisplayStatusBar = False

End Sub

Function DateToUnixTime(dstring) As Long
      DateToUnixTime = (DateValue(dstring) - #1/1/1970 8:00:00 AM#) * 86400
End Function

Function UnixTime2Date(UnixT) As Date
      UnixTime2Date = Format(UnixT / 86400 + #1/1/1970 8:00:00 AM#, "yyyy/mm/dd")
End Function

TOP

¦^´_ 1# Scott090

¹d¦ë¾ú¥v»ù®æªíªººô§}­ì¨Ó¬O¡G
       "https://www.cnyes.com/twstock/ps_historyprice/2330.htm"
   ¤w§ï¬°¡G "https://www.cnyes.com/archive/twstock/ps_historyprice/2330.htm"
       ¥B­ì¨Óªº°Ñ¼Æ¬° "&ctl00$ContentPlaceHolder1$startText=" & StartDate ªº®æ¦¡¤@¼Ë¥i¥Î

  ·sª©ªººô§}¦b¡G
       "https://invest.cnyes.com/twstock/tws/2330/history"
     ¥Lªº°Ñ¼Æ´N¤£ª¾¦p¦ó°µ¤F?????

TOP

¦^´_ 6# GBKEE


    ·P®¦ GBKEE ¤j
     §Ú¬ã¨s¤j§@¬Ý¬Ý

TOP

¦^´_ 8# quickfixer


    mobile01 ½×¾Â¶Ü?
ÁÂÁ quickfixer ¤jªº°T®§

TOP

¥»©«³Ì«á¥Ñ Scott090 ©ó 2020-4-16 06:12 ½s¿è

¦^´_ 8# quickfixer


    quickfixer ¤j:
    https://www.mobile01.com/topicde ... ;t=4737630&p=77
   «Ü¥i±¤¡A§Ú¨S§ä¨ì¡C
    ¥i§_©ú¥Ü¬O²Ä´X¼Ó©Î¥Lªº Xml json code

   ÁÂÁÂ

TOP

¦^´_ 11# quickfixer


    §ä¨ì¤F¡AÁÂÁÂ

TOP

        ÀR«ä¦Û¦b : ¦Y­W¤F­W¡B­WºÉ¤Ü¨Ó¡A¨ÉºÖ¤FºÖ¡BºÖºÉ´d¨Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD