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

ÃÒ¥æ©Ò¥þ³¡¤W¥«ªÑ²¼¥æ©ö©ú²Ó¤U¸ü

¦^´_ 13# white5168

G¤j³o¸Ì«ü¥O«Ü§¹¾ã,À³¸Ó¤£¬O­¶¼Æ¦^ÂаÝÃD (§Ú¤]´ú¸Õ¹L³o­Ó­¶­±¦^ÂÐ)
        Do While .Busy Or .ReadyState <> 4   ---->³o¸Ì(4)¤åÀɤw¸g¸ÑªR§¹²¦ , ¥Î¤áºÝ¥i¥H±µ¨üªð¦^®ø®§
            DoEvents
        Loop

TOP

¦^´_ 11# GBKEE
µL½×¬O¥ý°õ¦æ ¬d¸ßªÑ²¼¤é³øªí()¡A¦Ó«á°õ¦æ ¥þ³¡¤é³øªí()¡A
¥ç©Î ³æ¿W¥ý°õ¦æ ¥þ³¡¤é³øªí()¡A µ²ªG¬O¤@­Pªº¡C
®t§O¥u¦b©ó¤¤Â_®É¤§Åª¨úªÑ²¼¥N½X¦ì¸m¤§¦h¹è¦Ó¤w¡C
¥X²{ªº¿ù»~°T®§¦p¤U¡G

TOP

¦^´_ 13# white5168

§ã×N!¤SÂ_¤F
§Úªº3.5G³o»ò¤£Ã­!

¨ä¹êW¤jªº,§Ú¤@ª½³£¤£¯à¥¿±`¨Ï¥Î
¥½¾ÇÁÙ¦³«Ü¦h¬Ý¤£À´,©Ò¥H¥ý¾Ç¬Ý»yªk
°»¿ù¦b    If TestFolder = False Then TestObj.CreateFolder (CSVfolder)

TOP

¦^´_  HSIEN6001


    ªþµùÂ_ÂI:    ³øªí­¶¼Æ = element.Item(0).innertext
HSIEN6001 µoªí©ó 2012-8-4 12:06



³o­Ó°ÝÃD¦b§Úªºµ{¦¡½X¸Ì¦³¨¾½d¤F,­ì¦]«Ü²³æ,¦³ªº®É­Ô¨Ï¥Îsetª«¥ó®É,¦pªGIE¨S¦³¶}§¹¾ã,±N·|¾É­PµLªk¨ú±o¹ïÀ³ªºª«¥ó,¦¹®É«K·|µo¥ÍµLªk¨ú±o­¶¼Æªº°ÝÃD,¬Ý¨ÓÃö©ó³o¤@ÂI,ª©¥D­n¦A¦htry¤@¤U,³o­Óµo¥ÍÂI¤£¬O¨C¦¸³£·|µo¥Í¦b¬Û¦Pªº¦ì¸m,À³¸Ó¦h¼W¥[¨¾½d,¦pªGµLªk¶¶§Q¨ú±o­¶¼Æ©Î¬Osetª«¥óµo¥Í°ÝÃD®É,­n¶i¦æRetry

TOP

¦^´_ 11# GBKEE

¿ù»~¼Æ­È¦b­þ¸Ì¬Ý?!
¸ê®Æ§¹¾ã¤U¸ü¨ì1413«á--->1414 err¦b¦p¤W­z¤§¦ì¸m¥X²{°»¿ùÂI

²{¦b¥¿­«·s°õ¦æ´ú¸Õ,«o¦­¤w¶W¹L1414¥N¸¹
¤£ª¾¹D¬°¦ó·|¤¤Â_

§Ú¦Û¤vªº¥ý«eªº¤U¸ü,¤]±`¦p¦¹;¤Ï¦ÓPM9:00¤§«á
¶]ªº«Ü¥¿±`

§Ú·Q....¬O§_3.5Gªº°ÝÃD?!

TOP

¦^´_ 8# HSIEN6001
¦^´_ 9# HSIEN6001
½Ð°Ý¤¤Â_®Éªº¿ù»~­È¬O¦h¤Ö

¦^´_ 10# devidlin
½Æ»sµ{¦¡½X«á
°õ¦æ   ¥ý°õ¦æ   Sub ¬d¸ßªÑ²¼¤é³øªí()               ¦A¸Õ¸Õ        Sub ¥þ³¡¤é³øªí()

TOP

¦^´_ 7# GBKEE


    §A¦n¡A§¹¾ãexcelÀÉ®×¥i¥H¤À¨É¶Ü?ÁÂÁ¡C
devidlin

TOP

¦^´_ 8# HSIEN6001


    ªþµùÂ_ÂI:    ³øªí­¶¼Æ = element.Item(0).innertext

TOP

¦^´_ 7# GBKEE


    ¦n´Î!°õ¦æ³t«×¶W§Öªº!
³ø§i:
¥Ø«e¦³­Ó¤¤Â_ÂI¦b¥N¸¹1414
??

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-8-5 09:23 ½s¿è

¦^´_ 1# white5168
´ú¸Õ §¹¦¨¹Ï


2012/8/5 §ó·sµ{¦¡½X
   
  1. Option Explicit
  2. Dim SH(1 To 2) As Worksheet, IE As Object
  3. Dim xltheCsv As String, xLMsg As String, Rng As Range
  4. Const xlPath = "D:\Test1\"                  '¥i­×§ïCSV¦sÀɪº¸ô®|
  5. Sub ¥þ³¡¤é³øªí()                            '¬d¸ß¥þ³¡¤éªÑ²¼³øªí
  6.     Dim T As Date
  7.     ¦sÀɸê®Æ§¨
  8.     T = Time
  9.     xLMsg = ""                              '¬ö¿ý ªÑ²¼¥N¸¹¨S³øªí
  10.     ¤W¥«ªÑ²¼¥N¸¹                            '¨ú±o³Ì·s¤W¥«ªÑ²¼¥N¸¹ªí
  11.     ºô­¶                                    '¶}±Òºô­¶
  12.     Set Rng = SH(1).[A3]                    'ªÑ²¼¥N¸¹
  13.     Do
  14.         Rng.Select
  15.         ActiveWindow.ScrollRow = Rng.Row - 1
  16.         Application.ScreenUpdating = False
  17.         If Rng.Offset(, 1) <> "" Then ¶×¤J¤é³øªí Trim(Split(Rng, " ")(0))                                            'Trim(Split(Rng, " ")(0)):ªÑ²¼¥N¸¹
  18.         Set Rng = Rng.Offset(1)             '¤U¤@­Ó ªÑ²¼¥N¸¹
  19.         Application.ScreenUpdating = True
  20.     'Loop Until Rng = ""                    '<-§t   ¤W¥«ªÑ²¼,¤W¥«»{ÁÊ(°â)ÅvÃÒ,¨ü¯qÃÒ¨é-¤£°Ê²£§ë¸ê«H°U--
  21.     Loop Until Rng.Offset(, 1) = ""         '<-¶È¦³ ¤W¥«ªÑ²¼ : BÄæ¬OªÅ¥Õ®ÉÂ÷¶}°j°é
  22.     SH(1).Parent.Close 0                    'Ãö³¬ ³Ì·s¤W¥«ªÑ²¼¥N¸¹ªí
  23.     IE.Quit                                 'Ãö³¬ ºô­¶
  24.     Set IE = Nothing
  25.     Set Rng = Nothing
  26.     MsgBox "¥þ³¡¤é³øªí¤U¸ü§¹¦¨ ¶O®É" & Format(T - Time, "HH®Émm¤Àss¬í") & Chr(10) & xLMsg
  27.     If xLMsg <> "" Then µL³øªí¬ö¿ý
  28. End Sub
  29. Sub ¬d¸ßªÑ²¼¤é³øªí()                        '¬d¸ß³æ¤@ªÑ²¼¤é³øªí
  30.     Dim ªÑ²¼¥N¸¹ As String, ªÑ²¼ As String, T As Date
  31.     ¦sÀɸê®Æ§¨
  32.     xLMsg = ""
  33.     Do While ªÑ²¼¥N¸¹ = ""
  34.         ªÑ²¼¥N¸¹ = InputBox("ªÑ²¼¥N¸¹", "¿é¤J¬d¸ß¤§ªÑ²¼¥N¸¹", "1101")
  35.         If ªÑ²¼¥N¸¹ = "" Then End
  36.     Loop
  37.     T = Time
  38.     ºô­¶
  39.     ¶×¤J¤é³øªí ªÑ²¼¥N¸¹
  40.     IE.Quit
  41.     Set IE = Nothing
  42.     If xLMsg <> "" Then
  43.         MsgBox xLMsg
  44.         µL³øªí¬ö¿ý
  45.         Exit Sub
  46.     Else
  47.         ªÑ²¼ = Replace(Replace(xltheCsv, ".CSV", ""), xlPath, "")
  48.         MsgBox ªÑ²¼ & Chr(10) & "¤U¸ü®É¶¡" & Format(T - Time, "HH®Émm¤Àss¬í") _
  49.         & Chr(10) & "¦sÀɸô®|: " & xlPath
  50.     End If
  51.     Workbooks.Open xltheCsv
  52.     ActiveSheet.Cells.EntireColumn.AutoFit
  53. End Sub
  54. Private Sub ¶×¤J¤é³øªí(ªÑ²¼¥N¸¹ As String)      '³B¸Ì¶Ç°e¨Óªº --ªÑ²¼¥N¸¹--
  55.     Dim Xall As Integer, SubMsg As String, SubRng As Range
  56.     Xall = Val(³øªí­¶¼Æ(ªÑ²¼¥N¸¹))              '¶Ç¦^³øªí­¶¼Æ
  57.     If Xall = 0 Then                            'µL³øªí­¶¼Æ: ³øªí¤£¦s¦b
  58.         If Rng Is Nothing Then
  59.             SubMsg = "[ " & ªÑ²¼¥N¸¹ & " ] µL³øªí"
  60.         Else                                    '¥þ³¡¤é³øªíµ{¦¡: §tªÑ²¼¦WºÙ
  61.             SubMsg = Rng & " µL³øªí"
  62.         End If
  63.         xLMsg = IIf(xLMsg <> "", xLMsg & Chr(10) & SubMsg, SubMsg)
  64.         Exit Sub
  65.     End If
  66.     Set SH(2) = Workbooks.Add(1).Sheets(1)       '·s¼W¤@¬¡­¶Ã¯
  67.     With SH(2).QueryTables.Add(Connection:="URl;http://bsr.twse.com.tw/bshtm/bsContent.aspx?StartNumber=" & ªÑ²¼¥N¸¹ & "&FocusIndex=All_" & Xall, Destination:=SH(2).Range("A1"))
  68.             .WebFormatting = xlWebFormattingNone
  69.             .WebTables = "4,""table2"""
  70.             On Error Resume Next                'µ{¦¡ÁÙ¦³¿ù»~¤£³B¸Ì
  71.             Do
  72.             Err.Clear                           '²M°£¿ù»~­È
  73.             .Refresh BackgroundQuery:=False     'Refresh ¥¢±Ñ ·|¦³¿ù»~­È
  74.             Loop While Err > 0                  '¦³¿ù»~­ÈÄ~Äò°j°é ª½¨ì  Refresh ¦¨¥\
  75.             On Error GoTo 0                     '¦³¿ù»~­È ¤£³B¸Ì
  76.             '®ø°£: On Error Resume Next ¦pÁÙ¦³¿ù»~¤£³B¸Ì ·|¼vÅT¹B¦æªº¥¿½T©Ê
  77.             SH(2).Names(.Name).Delete
  78.     End With
  79.     If Xall > 1 Then                              '³B¸Ì­¶¼Æ > 1  '²M²zªÅ¥Õ¦C¤Î ¨C­¶ªºÄæ¦ì
  80.         With SH(2)
  81.             Set SubRng = .Range(.[A6], .Cells(.Rows.Count, "A").End(xlUp))
  82.             SubRng.Replace "§Ç", "", xlWhole
  83.             SubRng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlUp
  84.         End With
  85.     End If
  86.     xltheCsv = xlPath & Format(SH(2).[B1], "yyyy_mm_dd ") & SH(2).[F1] & ".CSV"
  87.     On Error GoTo xlerr                             'xltheCsv  ¤w¶}±Ò·|¦³¿ù»~  ¨ìxLerr³B¸Ì
  88.     If Dir(xltheCsv) <> "" Then Kill xltheCsv
  89.     On Error GoTo 0
  90.     SH(2).Parent.SaveAs xltheCsv, xlCsv
  91.     SH(2).Parent.Close True
  92.     Exit Sub
  93. xlerr:
  94. If Err = 70 Then
  95.     Workbooks(Format(SH(2).[B1], "yyyy_mm_dd ") & SH(2).[F1] & ".CSV").Close 0   'Ãö³¬xltheCsv ¥i²M°£¿ù»~
  96.     Resume                                                                       '¤Ï¦^¿ù»~¦æ
  97. Else
  98.     MsgBox "¿ù»~­È " & Err & " »Ý°»¿ù!!"
  99.     End
  100. End If
  101. End Sub
  102. Private Sub ¤W¥«ªÑ²¼¥N¸¹()  '¤U¸ü³Ì·s¥N¸¹ ( ¤W¥«ªÑ²¼,¤W¥«»{ÁÊ(°â)ÅvÃÒ,¨ü¯qÃÒ¨é-¤£°Ê²£§ë¸ê«H°U )
  103.     Dim SstockId  As String
  104.     SstockId = "URL;http://brk.twse.com.tw:8000/isin/C_public.jsp?strMode=2"
  105.     Set SH(1) = Workbooks.Add(1).Sheets(1)
  106.     With SH(1).QueryTables.Add(SstockId, SH(1).[A1])
  107.         .WebFormatting = xlWebFormattingNone
  108.         .WebTables = "2"
  109.         .Refresh 0
  110.     End With
  111. End Sub
  112. Private Sub ºô­¶()             '¶}±Òºô­¶
  113.     Dim Url As String
  114.     Set IE = CreateObject("InternetExplorer.Application")
  115.     Url = "http://bsr.twse.com.tw/bshtm/bsMenu.aspx"
  116.     With IE
  117.         '.Visible = False   ''¥i¥H¤£Åã¥Ü IE
  118.           .Visible = True
  119.         .Navigate "http://bsr.twse.com.tw/bshtm/bsMenu.aspx"
  120.         Do While .Busy Or .ReadyState <> 4
  121.             DoEvents
  122.         Loop
  123.     End With
  124. End Sub
  125. Private Sub ¦sÀɸê®Æ§¨()     '¨S¦³CSV¦sÀɪº¸ô®|: ³]¥ßCSV¦sÀɪº¸ô®|
  126.     If Dir(xlPath, vbDirectory) = "" Then MkDir xlPath
  127. End Sub
  128. Private Sub µL³øªí¬ö¿ý()   '¤u§@ªí¤W¬ö¿ý ¨S³øªíªºªÑ²¼¥N¸¹
  129.     With ThisWorkbook.Sheets(1)
  130.         .Activate
  131.         If .[A1] = "" Then .[A1] = "ªÑ²¼: µL³øªí"
  132.         .Cells(.Rows.Count, "a").End(xlUp).Offset(1).Resize(UBound(Split(xLMsg, Chr(10))) + 1) = Application.Transpose(Split(xLMsg, Chr(10)))
  133.     End With
  134. End Sub
  135. Private Function ³øªí­¶¼Æ(Sstock_N0 As String)
  136.     Dim element As Object
  137.     On Error GoTo xlerr:
  138. xlAgain:
  139.     Set element = IE.Document.getElementsByName("txtTASKNO")
  140.     element.Item(0).Value = Sstock_N0
  141.     Set element = IE.Document.getElementsByName("btnOK")
  142.     element.Item(0).Click
  143.     With IE
  144.         Do While .Busy Or .ReadyState <> 4
  145.             DoEvents
  146.         Loop
  147.     End With
  148.     Set element = IE.Document.getElementsByName("sp_ListCount")
  149.     ³øªí­¶¼Æ = element.Item(0).innertext
  150.     Exit Function
  151. xlerr:        '³B¸Ìºô­¶¤¤Â_
  152.     IE.Quit
  153.     ºô­¶
  154.     Err.Clear
  155.     GoTo xlAgain
  156. End Function
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¹D¼w¬O´£ª@¦Û§Úªº©ú¿O¡A¤£¸Ó¬O¨þ¥¸§O¤HªºÃ@¤l¡C
ªð¦^¦Cªí ¤W¤@¥DÃD