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

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

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

¶i¤J³o­Óºô¯¸¨ú±o­ÓªÑ¾ú¥v»ù¡G
http://www.cnyes.com/twstock/ps_historyprice/2330.htm


¥¦¥u¦³©T©wªº¤é´Á°Ï¶¡¸ê®Æ

½Ð±Ð¾É ¡G
              VBA ¦p¦ó¥Î ¿ï¥Î¨ä¤¤ªº"¶}©l¤é´Á"¤Î"µ²§ô¤é´Á"¤Î "¬d¸ß" ¦Ó¨ú±o§óªø°Ï¶¡ªº¸ê®Æªí

ÁÂÁÂ

¦^´_ 1# Scott090

°Ñ¦Ò¥H¤Uµ{¦¡½X¥i¥H³]©w¤é´Á°Ï¶¡
Ä~Äò´M¨D§ó¨Îªº¤èªk
  1. '±q¹d¦ëºô¨ú±o¾ú¥vªÑ»ù
  2. '¨Ï¥Î IE ª«¥ó
  3. 'option explicit
  4. 'option base 1

  5. Sub TestCNYES()

  6.     Dim Price(0 To 20, 0 To 9)
  7.     Dim Code
  8.     Code = "2330"
  9.    
  10.     Dim IE As Object, URL$
  11.     Dim date0 As Date, StartDate$, EndDate$, timer, time0 As Date
  12.     Dim Table As Object, oDoc As Object, E
  13.     Dim Re%, Ce%, i%, k%, ColName$
  14.    
  15.     ActiveSheet.Cells.Clear
  16.    
  17.     '³]©w¸ê®Æ¶}©l¤Îµ²§ô¤é´Á
  18.     StartDate = Format(DateAdd("m", -2, Date), "yyyy/mm/dd")   '¨ú2­Ó¤ëªº¸ê®Æ¡A¬ù40µ§
  19.     EndDate = Format(Date, "yyyy/mm/dd")
  20.    
  21.     k = 0
  22. Again:
  23.     Set IE = CreateObject("InternetExplorer.Application")
  24.     With IE
  25.             URL = "http://www.cnyes.com/twstock/ps_historyprice/" & Code & ".htm"
  26.             .Visible = False                '¤£Åã¥Ü IE
  27.             .navigate URL
  28.             
  29.             time0 = Now() + #12:00:05 AM#   '³]©w®É¶¡±±¨î­p®É5¬íÄÁ
  30.             Do
  31.                 DoEvents
  32.             Loop While (.Busy Or .readystate <> 4) And Time < time0
  33.            
  34.            'ºô­¶¥¼·Ç³Æ¦n¡AÃö³¬­«±Ò
  35.             If .readystate <> 4 Then
  36.                 .Quit
  37.                 k = k + 1
  38.                 If k <= 2 Then GoTo Again
  39.                 GoTo GiveUp                   '¶}±Ò3¦¸³£¥¢±Ñ´N©ñ±ó
  40.             End If
  41.             
  42.             Set oDoc = .Document.getElementsByTagName("input")
  43.             With oDoc
  44.                  .Item("ctl00$ContentPlaceHolder1$startText").Value = StartDate ' ¶}©l¤é´Á input name
  45.                  .Item("ctl00$ContentPlaceHolder1$endText").Value = EndDate     ' µ²§ô¤é´Á input name
  46.             
  47.                  Set E = .Item("ctl00$ContentPlaceHolder1$submitBut")           '¬d¸ßÁä¦WºÙ
  48.                     E.Click                                                     '«ö¬d¸ßÁä
  49.             End With
  50.             
  51.             k = 0
  52.             time0 = Now() + #12:00:05 AM#   '³]©w®É¶¡±±¨î­p®É5¬íÄÁ
  53.             Do
  54.                 DoEvents
  55.             Loop While (.Busy Or .readystate <> 4) And Now() < time0
  56.             
  57.             Application.Wait Time + #12:00:03 AM#
  58.             
  59.             Set E = .Document.getElementsByTagName("TABLE")(1)
  60.             If E Is Nothing Then IE.Quit: GoTo Again
  61.             
  62.             For Re = 0 To 19          '¨ú19¤Ñªº¾ú¥v¬ö¿ý
  63.                 For Ce = 0 To 8
  64.                     Price(Re, Ce) = E.Rows(Re).Cells(Ce).innertext   '¤é´Á¡B¶}¡B°ª¡B§C¡B¦¬¡Bº¦¶^  º¦% ¦¨¥æ¶q  ¦¨¥æª÷ÃB
  65.                 Next
  66.             Next
  67.             
  68.             ActiveSheet.Cells(1, "A").Resize(20, 9).Value = Price
  69. GiveUp:
  70.         
  71.         .Quit
  72.     End With

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

TOP

¦^´_ 3# iamaraymond


    ÁÂÁ¡A§Ú±N¸Õ¸Õ¬Ý¡C
¥t¡A½Ð±Ð Excel 2013 ¤Î¥¦ªº VBA »¡©úªº¬d¸ß ¬O¡G
1.³s½u³z¹Lºô¸ô¡A
ÁÙ¬O
2. Â÷½u¡A¤w¨ã³Æ®r¤J(Built in)»¡©ú¡A¥u­n«ö F1 ´N¥i¥H

TOP

¦^´_ 3# iamaraymond

¨Ì¾Ú¤j¤jªº«ü¾É¡A­×§ï¦p¤U¡A½Ð¬Ý¬Ý¬O¤£¬O³o¼Ë¤l¡C
ÁÂÁÂ
  1. '±q¹d¦ëºô¨ú±o¾ú¥vªÑ»ù
  2. '¨Ï¥Î IE ª«¥ó
  3. 'option explicit
  4. 'option base 1

  5. Sub TestCNYES1()

  6.     Dim Price()
  7.     Dim Code
  8.     Code = "2330"
  9.    
  10.     Dim IE As Object, URL$
  11.     Dim date0 As Date, StartDate$, EndDate$, submitBTN$, timer, time0 As Date
  12.     Dim Table As Object, oDoc As Object, E
  13.     Dim Re%, Ce%, i%, k%, ColName$
  14.    
  15.     ActiveSheet.Cells.Clear
  16.    
  17.     '³]©w¸ê®Æ¶}©l¤Îµ²§ô¤é´Á
  18.     StartDate = Format(DateAdd("m", -2, Date), "yyyy/mm/dd")    '¨ú2­Ó¤ëªº¸ê®Æ¡A¬ù40µ§
  19.     EndDate = Format(Date, "yyyy/mm/dd")
  20.    
  21.     StartDate = "&ctl00$ContentPlaceHolder1$startText=" & StartDate           '¶}©l¤é´Á input name
  22.     EndDate = "&ctl00$ContentPlaceHolder1$endText=" & EndDate                  ' µ²§ô¤é´Á input name
  23. '    submitBTN = "&ctl00$ContentPlaceHolder1$submitBut=¬d¸ß"
  24.    
  25.     k = 0
  26. Again:
  27.     Set IE = CreateObject("InternetExplorer.Application")
  28.    
  29.     With IE
  30.             URL = "https://www.cnyes.com/twstock/ps_historyprice.aspx?code=" & Code & StartDate & EndDate
  31.             .Visible = False                '¤£Åã¥Ü IE
  32.             .navigate URL
  33.             
  34.             time0 = Now() + #12:00:05 AM#   '³]©w®É¶¡±±¨î­p®É5¬íÄÁ
  35.             Do
  36.                 DoEvents
  37.             Loop While (.Busy Or .readystate <> 4) And Time < time0
  38.            
  39.            '­p®É®É¶¡¨ì¤Fºô­¶¥¼·Ç³Æ¦n¡AÃö³¬­«±Ò
  40.             If .readystate <> 4 Then
  41.                 .Quit
  42.                 k = k + 1
  43.                 If k <= 2 Then GoTo Again
  44.                 GoTo GiveUp                   '¶}±Ò3¦¸³£¥¢±Ñ´N©ñ±ó
  45.             End If
  46.                         
  47. '            Set E = .Document.getElementsByTagName("TABLE")(0)
  48.             Set E = .Document.all.tags("TABLE")(0)          '³o­Óºô­¶ªº¸ê®Æªí¦³ÅÜ°Ê
  49.             If E Is Nothing Then IE.Quit: GoTo Again
  50.             
  51.             i = E.Rows.Length - 1: k = E.Rows(1).Cells.Length - 1
  52.             ReDim Price(0 To i, 0 To k)
  53.             
  54.             For Re = 0 To i         '¨ú19¤Ñªº¾ú¥v¬ö¿ý
  55.                 For Ce = 0 To k
  56.                     Price(Re, Ce) = E.Rows(Re).Cells(Ce).innertext   '¤é´Á¡B¶}¡B°ª¡B§C¡B¦¬¡Bº¦¶^  º¦% ¦¨¥æ¶q  ¦¨¥æª÷ÃB
  57.                 Next
  58.             Next
  59.             
  60.             ActiveSheet.Cells(1, "A").Resize(i + 1, k + 1).Value = Price
  61. GiveUp:
  62.         
  63.         .Quit
  64.     End With

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

TOP

¦^´_ 6# iamaraymond


    " ..... F1¤Wºô§ä»¡©ú ....  "¡A´N¦]¬°»Ýºô¸ô³sµ²³o»ò¤£¤è«K¡A©ñ±ó¨Ï¥Î¡C

ÁÂÁ¤j¤jªº QueryTable ¼Ò¦¡¡C
¦]¦³¨ä¥Lµ{¦¡½Xªº³sµ²¨Ï¥Î©Ò¥H§Úª½±µ§â¸ê®Æ©ñ¶i°}¦C

TOP

[ª©¥DºÞ²z¯d¨¥]
  • GBKEE(2018/1/31 10:48): ¬Y¨ÇÀɪѲ¼Åª¤£¨ì¸ê®Æªº±¡§Î,¥i§_¦C¥X­þ¨ÇÀɪѲ¼

¦^´_ 8# GBKEE


    ÁÂÁ GBKEE ¤j¤j ´£¨Ñªº¡G
¸ê®Æ§¹¾ã©Êªº¬dÀ˾÷¨î¡B Clip Board ªº¤èªk

¥t¡A Do
                 .......
                 Application.StatusBar = " µ¥­Ô ºô­¶¸ê®Æ¤¤ ... "
          Loop
¤¤¡A¦³®É¤£ª¾¬Æ»òª¬ªp·|¦³¬Y¨ÇÀɪѲ¼Åª¤£¨ì¸ê®Æªº±¡§Î¡A©Ò¥H»Ý­n¥Î®É¶¡­p®É¨Ó±±¨î¨Ã©ñ±ó

¦A¦¸·P®¦

TOP

¦^´_ 8# GBKEE

   ¨S¦³°O¿ý¤U¨Ó¡A¤£¹L¦n¹³¤£¬O¤@­Ó¯S©wªº¡F¦³®É¥Î¤â°Êª½±µ¥hÀˬd¤S·|¦bºô­¶¤W¥X²{¸ê®Æ
¤U¦¸¸I¨ì§â¥¦­Ì°O¤U¨Ó°eµ¹°Ñ¦Ò¡C
§Ú¦bÃhºÃ¬Oºô¸ô¥»¨­ªº¶Ç¿é¤]»¡¤£©w

ÁÂÁÂ

TOP

¦^´_ 11# iamaraymond

§Ú·Q¬O¸ê®Æªº§¹¾ã©Ê°ÝÃD¡A¤£¬O°_©l¤é´Á¬O§_»P¸ê®Æ¤é´Á¤@­P
¦b¤U¦C¦ì§}¦³°Q½×¡A½Ð°Ñ¦Ò  
  http://forum.twbts.com/thread-20288-1-1.html

TOP

¦^´_ 14# jackyq


    ½Ð jackyq ¤j©ú¥Ü¡A¥H«K¾Ç²ß

ÁÂÁÂ

TOP

        ÀR«ä¦Û¦b : Ä@­n¤j¡B§Ó­n°í¡B®ð­n¬X¡B¤ß­n²Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD