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

[µo°Ý] ¥i§_¥Î°j°é©ÎÅܼƶפJ¤j¶q¸ê®Æ¡H

¥»©«³Ì«á¥Ñ smart3135 ©ó 2014-5-22 09:35 ½s¿è

¦^´_ 64# GBKEE
ª©¥D±z¦n¡A¤µ¤Ñ§Q¥Î¤WÂd¤ë¦¨¥æ¸ê®Æªºµ{¦¡½X¨Ó°µ¤F¤@¨Ç­×¥¿¡A¤w¸g¥i¥H¶¶§QÂ^¨ú¤WÂd¦~¦¨¥æ¸ê®Æ¤F¡A¥u¬OÁÙ¦³¤@¨Ç¤p°ÝÃD¡G
1.¦h¾lªº»yªk¸Ó§R°£ªº§ÚÀ³¸Ó³£§R°£¤F¡A¤£½T©w¦³¨S¦³¦h¾l¤£¥²­nªº»yªk¨S³Q§R°£
2.¦bÂ^¨ú¸ê®Æ¶K¨ìEXCEL«á¡A¤é´Áªº³¡¤À·|Åܦ¨¤å¦r¡A½Ð¨£ªþ¹Ï¡A¤£¹Lºô­¶Åã¥Üªº¥u¬O³æ¯Âªº¤é´Á
Á|¨Ò¨Ó»¡¡Gºô­¶Åã¥Üªºªí®æ¬O4/17¡A¦ý¶×¤JEXCEL«á´N·|Åܦ¨4¤ë17¤é¡A¦Ó¼g¤J¤å¦rÀɮɫhÅܦ¨2014/4/17
§Ú¦³¸ÕµÛ¦b¶×¤JEXCEL¤§«e±N¤é´ÁÄæ¦ìªºÀx¦s®æ®æ¦¡¥ý³]©w¦¨¤å¦r¡A¤£¹L¶K¤WEXCEL«áÁÙ¬O·|³Q­×§ï®æ¦¡
§Ú§Æ±æ¼g¤J¤å¦rÀɪº¤é´Á¸ê®Æ¥u­n¤ë¤é´N¦n¡A¤]´N¬O4/17¡A¤£ª¾¹D³o³¡¤À¦³¨S¦³¿ìªk­×§ï¡H
¥t¥~¦p65#¦^ÂСA¶°«O¤á¸ê®Æªº°ÝÃDÁÙ¬O¥¼¯à¸Ñ¨M¡A¦A³Â·Ð±zÀ°¦£¬Ý¤@¤UÅo¡I·PÁ¡I

  1. Option Explicit
  2. Dim IE As Object
  3. Sub IE_Application()
  4.     If Not IE Is Nothing Then IE.Quit  '·í¬d¨ì¤WÂdªº¦~¥÷´N·|¥X²{¬dµL,¦¹IEµLªk¦A«×¬d¸ß,Ãö³¬¥¦
  5.     Set IE = CreateObject("InternetExplorer.Application")
  6.     With IE
  7.         .Navigate "http://www.gretai.org.tw/ch/stock/statistics/monthly/st42.php"
  8. '        .Visible = True   '¤£Åã¥Üie
  9.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  10.     End With
  11. End Sub
  12. Sub ¤WÂd¦~¦¨¥æ¸ê°T()
  13.     Dim Rng As Range, Rng1 As Range, E As Range, T As Date, xPath As String, xFile As String
  14.     Dim Ea As Variant, AR(), ii As Integer
  15.     T = Time
  16.     Application.DisplayStatusBar = True
  17.     '½Ð±N¤WÂdªºªÑ²¼¥N¸¹,¦b Sheets(3).Range("A1")©¹¤UKey¤W,°j°é¨Ì³o¸ÌªºªÑ²¼¥N¸¹¶×¤J
  18.     Set Rng = ThisWorkbook.Sheets(3).Range("A:A")
  19.     If Application.Count(Rng) = 0 Then MsgBox "¨S¦³ªÑ²¼¥N¸¹": Exit Sub
  20.     Set Rng = Rng.SpecialCells(xlCellTypeConstants)
  21.     xPath = "G:\°]³ø¸ê®Æ"
  22.     IE_Application
  23.     Application.StatusBar = " "
  24.     For Each E In Rng
  25.         Sheets(1).UsedRange.Clear            '¤U¸ü¸ê®Æ¸m©ó¦¹¤u§@ªí,ÅÜ´«ªÑ²¼®É:²MªÅ
  26.             With IE
  27.                  With .document.getelementbyid("input_stock_code")
  28.                     .Value = E
  29.                     .ParentNode.submit
  30.                 End With
  31.                 Do While .Busy Or .readyState <> 4:    Loop
  32.                 If Application.Count(Sheets(1).UsedRange) = 0 Then '¦¹¤u§@ªí²MªÅ®É:¤U¸ü²Ä¤@¦~«×®É
  33.                     AR = Array(0, 2)
  34. '                Else
  35. '                    AR = Array(2)
  36.                 End If
  37.                 For Each Ea In AR
  38.                     Ep .document.getElementsByTagName("TABLE")(Ea).outerHTML
  39.                 Next
  40.             End With
  41.         ii = ii + 1
  42.         xFile = xPath & "\" & E & "\HPM.txt"
  43.         MkDir_Sub xFile
  44.         Maketxt xFile, Sheets(1).UsedRange
  45.         Application.StatusBar = Application.Text(Time - T, ["MM¤ÀSS¬í"]) & " ¦@¶×¤J¤WÂd" & E & "¦~¦¨¥æ " & ii & " ¤å¦rÀÉ"
  46.     Next E
  47.     IE.Quit
  48.     Application.StatusBar = Application.Text(Time - T, ["MM¤ÀSS¬í"]) & " ¦@¶×¤J¤WÂd¦~¦¨¥æ " & ii & " ¤å¦rÀÉ,  Åª¨ú§¹²¦ !! "
  49.     MsgBox "¶×¤J ¤å¦rÀÉ" & ii & " ¶O®É " & Application.Text(Time - T, ["MM¤ÀSS¬í"])
  50. End Sub
  51. Sub Ep(S As String)
  52.     Dim D As New DataObject, E As Shape, FormDLL As String, Rng As Range
  53.     'DataObject ª«¥ó ¦b¶i¦æÂà´«°Ê§@®É¡A°µ¬°®æ¦¡¤Æ¤å¦r¸ê®Æªº¼È¦s°Ï°ì¡C¨ä¤]¥i¥H¼È¦s©MÀx¦s¦b DataObject ªº¤å¦r¤ù¬q¬ÛÃöªº®æ¦¡¡C
  54.     '«Å§i Dim D As New DataObject '¶·¦b¤u¨ã-> ³]©w¤Þ¥Î¶µ¥Ø¥[¤J ·s¼W¤Þ¥Î Microsoft Forms 2.0 Object Library ,±M®× ¥[¤J¤@ªí³æ§Y¥i
  55.     On Error GoTo ER
  56.     With D
  57.         .SetText S
  58.         .PutInClipboard
  59.         With Sheets(1)
  60.             .Range("a" & .Rows.Count).End(xlUp).Select
  61.             If .Range("a1") <> "" Then .Range("a" & .Rows.Count).End(xlUp).Offset(1).Select
  62.             .PasteSpecial Format:="Unicode ¤å¦r"
  63.         End With
  64.     End With
  65.     Exit Sub
  66. ER:
  67.     FormDLL = "FM20.DLL"
  68.     ThisWorkbook.VBProject.References.AddFromFile "C:\windows\system32\" & FormDLL
  69.     Resume
  70. End Sub
  71. Sub MkDir_Sub(S As String)
  72.     Dim AR, i As Integer, xPath As String
  73.     If Dir(S) = "" Then
  74.         AR = Split(S, "\")
  75.         xPath = AR(0)
  76.         For i = 1 To UBound(AR) - 1
  77.             xPath = xPath & "\" & AR(i)
  78.             If Dir(xPath, vbDirectory) = "" Then MkDir xPath
  79.         Next
  80.     End If
  81. End Sub
  82. Sub Maketxt(xF As String, Q As Range)    '±N¶×¤J¸ê®Æ¦s¤J«ü©wªºtxt
  83.     Dim fs As Object, E As Range, C As Variant
  84.     Q.Range("C1").Clear
  85.     Q.Range("A1") = Q.Range("B1") & " " & "¦~¦¨¥æ¸ê®Æ"
  86.     Q.Range("B1").Clear
  87.     Q.Rows(2).Delete
  88.     Set fs = CreateObject("Scripting.FileSystemObject")
  89.     Set fs = fs.CreateTextFile(xF, True)  '³Ð¨£¤@­ÓÀÉ®×,¦pÀɮצs¦b¥iÂл\±¼
  90.     For Each E In Q.Rows
  91.         C = Application.Transpose(Application.Transpose(E.Value))
  92.         C = Join(C, vbTab)
  93.         fs.WriteLine C
  94.     Next
  95.     fs.Close
  96. End Sub
½Æ»s¥N½X
¤WÂd¦~¦¨¥æ¸ê°T.zip (20.05 KB)

TOP

¦^´_ 67# GBKEE
ª©¥D±z¦n¡A¦]¬°§Ú¦³Âù¨t²Î¡A¤@­Ó¬OWIN7+2007¡A¤@­Ó¬OXP+2003¡A§Ú¥­±`³£¬O¶}WIN7ªº¡A¸g§A´£¿ô¡A¤µ¤Ñ¸ÕµÛ¥Î2003¶]¤@¦¸¶°«Oµ{§Ç
µ²ªG¯uªº¥i¥H°õ¦æ¡A¤£·|¥X¿ù¡A¦ý¦b2007«o·|¥X¿ù¡A³o³¡¤À¥i¯àÁÙ­n¦A¬ã¨s¤@¤U¬°¤°»ò·|³o¼Ë
¥t¥~¼g¤J¤é´Á³¡¤À¸g±a¤J±zªºµ{¦¡½X«á¤w¥i¥¿±`¼g¤J¤é´Á¡A¦A¦¸·PÁ±z¤j¤O¨ó§U¡AÁÂÁ±z¡I

TOP

¥»©«³Ì«á¥Ñ smart3135 ©ó 2014-5-23 11:13 ½s¿è

¦^´_ 67# GBKEE
ª©¥D±z¦n¡A¸g¹L¤µ¤Ñ¦­¤W¤£Â_¨Ï¥Î2003ª©´ú¸Õ¡A²×©ó°µ¥X§Ú·Q­nªº¿é¥X¤å¦rÀɵ²ªG¡A¤£¹LÁÙ¬O¦³¨Ç°ÝÃD·|µo¥Í¡A¥ýªþ¤Wµ{¦¡½X»PªþÀÉ
¶°«O¤á-·s.zip (128.04 KB)
³o¸Ì¬O§¹¾ãªºµ{¦¡½X
  1. Option Explicit
  2. Dim IE As Object, A As Integer
  3. Sub IE_Application()
  4.     Dim I As Integer
  5.     Set IE = CreateObject("InternetExplorer.Application")
  6.     With IE
  7.         .Navigate "http://www.tdcc.com.tw/smWeb/QryStock.jsp"
  8. '        .Visible = True   '¤£Åã¥Üie
  9.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  10.         'Ū¨ú¶°«O¤áªÑÅv¤À´²ªí¬d¸ßªº¸ê®Æ¤é´ÁÁ`­Ó¼Æ
  11.         A = .document.getelementsByTagName("select")("SCA_DATE").Length - 1
  12.   End With
  13. End Sub
  14. Sub ¶°«O()
  15.     Dim Rng As Range, E As Range, x As Variant, T As Date, xPath As String, xFile As String
  16.     Dim Ea As Variant, ii As Integer, F As String, H As String, J As Integer
  17.     T = Time
  18.     Application.DisplayStatusBar = True
  19.     '½Ð±N¤WÂdªºªÑ²¼¥N¸¹,¦b Sheets(3).Range("A1")©¹¤UKey¤W,°j°é¨Ì³o¸ÌªºªÑ²¼¥N¸¹¶×¤J
  20.     Set Rng = ThisWorkbook.Sheets(3).Range("A:A")
  21.     If Application.Count(Rng) = 0 Then MsgBox "¨S¦³ªÑ²¼¥N¸¹": Exit Sub
  22.     Set Rng = Rng.SpecialCells(xlCellTypeConstants)
  23.     xPath = "E:\°]³ø¸ê®Æ"
  24.     IE_Application    '
  25.     Application.StatusBar = " "
  26.     For Each E In Rng
  27.         With Sheets(1)
  28.             .Activate
  29.             .Cells.Clear  '¤U¸ü¸ê®Æ¸m©ó¦¹¤u§@ªí,ÅÜ´«ªÑ²¼®É:²MªÅ
  30.         End With
  31.             With IE
  32.                 .document.getElementById("StockNo").Value = E
  33.                 .document.getelementsByTagName("INPUT")("sub").Click  '«ö¤U¬d¸ß
  34.                        '³o¸Ìªº¬d¸ß¬O<INPUT TYPE="submit" VALUE="¬d¸ß" name="sub">
  35.                 Do While .Busy Or .readyState <> 4:    Loop
  36.                 Ep .document.getelementsByTagName("TABLE")(5).outerHTML
  37.             End With
  38.         
  39.         For x = 0 To A
  40.             With IE
  41.                 .document.getelementsByTagName("select")("SCA_DATE")(x).Selected = True
  42.                                             '³o¸Ìªº¸ê®Æ¤é´Á »Ý¥Î Select ¥¦¬O¦³[¦~«×¤ë¥÷¤é´Á]ªº
  43.                 .document.getElementById("StockNo").Value = E
  44.                 .document.getelementsByTagName("INPUT")("sub").Click  '«ö¤U¬d¸ß
  45.                        '³o¸Ìªº¬d¸ß¬O<INPUT TYPE="submit" VALUE="¬d¸ß" name="sub">
  46.                 Do While .Busy Or .readyState <> 4:    Loop
  47.                 Ep .document.getelementsByTagName("TABLE")(6).outerHTML
  48.             End With
  49.             With IE
  50.                 .document.getelementsByTagName("select")("SCA_DATE")(x).Selected = True
  51.                                             '³o¸Ìªº¸ê®Æ¤é´Á »Ý¥Î Select ¥¦¬O¦³[¦~«×¤ë¥÷¤é´Á]ªº
  52.                 .document.getElementById("StockNo").Value = E
  53.                 .document.getelementsByTagName("INPUT")("sub").Click  '«ö¤U¬d¸ß
  54.                        '³o¸Ìªº¬d¸ß¬O<INPUT TYPE="submit" VALUE="¬d¸ß" name="sub">
  55.                 Do While .Busy Or .readyState <> 4:    Loop
  56.                 Ep .document.getelementsByTagName("TABLE")(7).outerHTML
  57.             End With
  58.         Next x
  59.         With Sheets(1)
  60.             F = .Range("a3")
  61.             J = Len(F)
  62.             If J >= 19 Then
  63.                 H = Mid(F, 1, 3)
  64.             Else
  65.                 H = Mid(F, 1, 2)
  66.             End If
  67.             .Range("a1") = E & "-" & H & " " & "¶°«O¤áªÑÅv¤À´²ªí"
  68.             .Rows("2:4").Delete
  69.         End With
  70.         xFile = xPath & "\" & E & "\SHD.txt"
  71.         MkDir_Sub xFile
  72.         Maketxt xFile, Sheets(1).UsedRange, E.Value
  73.         '***·Q½Ð°Ý±zCode As StringªºCode¬O«ç»ò±a¥X­ÓªÑ½s¸¹ªº ****
  74.         'xFile(²Ä¤@­Ó¤Þ¼Æ), Sheets(1).Range("A1").CurrentRegion(²Ä¤G­Ó¤Þ¼Æ),E.Value(²Ä¤T­Ó¤Þ¼Æ)
  75.         ii = ii + 1
  76.         Application.StatusBar = Application.Text(Time - T, ["MM¤ÀSS¬í"]) & " ¦@¶×¤J¤W¥«¤ë¦¨¥æ " & ii & " ¤å¦rÀÉ"
  77.     Next E
  78.     IE.Quit
  79.     Application.StatusBar = Application.Text(Time - T, ["MM¤ÀSS¬í"]) & " ¦@¶×¤J¤W¥«¤ë¦¨¥æ " & ii & " ¤å¦rÀÉ,  Åª¨ú§¹²¦ !! "
  80.     MsgBox "¶×¤J ¤å¦rÀÉ" & ii & " ¶O®É " & Application.Text(Time - T, ["MM¤ÀSS¬í"])
  81. '    ThisWorkbook.Save
  82. End Sub
  83. Sub Ep(S As String)
  84.     Dim D As New DataObject, E As Shape, FormDLL As String, Rng As Range
  85.     'DataObject ª«¥ó ¦b¶i¦æÂà´«°Ê§@®É¡A°µ¬°®æ¦¡¤Æ¤å¦r¸ê®Æªº¼È¦s°Ï°ì¡C¨ä¤]¥i¥H¼È¦s©MÀx¦s¦b DataObject ªº¤å¦r¤ù¬q¬ÛÃöªº®æ¦¡¡C
  86.     '«Å§i Dim D As New DataObject '¶·¦b¤u¨ã-> ³]©w¤Þ¥Î¶µ¥Ø¥[¤J ·s¼W¤Þ¥Î Microsoft Forms 2.0 Object Library ,±M®× ¥[¤J¤@ªí³æ§Y¥i
  87.     On Error GoTo ER
  88.     With D
  89.         .SetText S
  90.         .PutInClipboard
  91.         With Sheets(1)
  92.             .Range("a" & .Rows.Count).End(xlUp).Select
  93.             Set Rng = Selection
  94.             If Rng = 15 Then
  95.                 Rng.Offset(3).Select
  96.             Else
  97.                 Rng.Offset(2).Select
  98.             End If
  99.             .PasteSpecial Format:="Unicode ¤å¦r"
  100. '            If Selection = "" Then Selection.Offset(1).Select
  101. '            Set Rng = Selection
  102. '                Rng.Sort Key1:=Rng.Range("B2"), Order1:=xlDescending, Header:=xlYes ', _
  103.                 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
  104.                 :=xlStroke, DataOption1:=xlSortNorma
  105.         End With
  106.     End With
  107.     Exit Sub
  108. ER:
  109.     FormDLL = "FM20.DLL"
  110.     ThisWorkbook.VBProject.References.AddFromFile "C:\windows\system32\" & FormDLL
  111.     Resume
  112. End Sub
  113. Sub Maketxt(xF As String, Q As Range, Code As String)     '±N¶×¤J¸ê®Æ¦s¤J«ü©wªºtxt
  114.           '***·Q½Ð°Ý±zCode As StringªºCode¬O«ç»ò±a¥X­ÓªÑ½s¸¹ªº ****
  115.           ' xF(±µ¦¬ªº¤Þ¼Æ¦WºÙ) As String(¦r¦ê«¬ºA), Q As Range(Rangeª«¥ó«¬ºA), Code As String(¦r¦ê«¬ºA)
  116.     Dim fs As Object, E As Range, C As Variant
  117.     Set fs = CreateObject("Scripting.FileSystemObject")
  118.     Set fs = fs.CreateTextFile(xF, True)  '³Ð¨£¤@­ÓÀÉ®×,¦pÀɮצs¦b¥iÂл\±¼
  119.     For Each E In Q.Rows
  120.         C = Application.Transpose(Application.Transpose(E.Value))
  121.         C = Join(C, vbTab)
  122.         fs.WriteLine C
  123.     Next
  124.     fs.Close
  125. End Sub
  126. Sub MkDir_Sub(S As String)
  127.     Dim AR, I As Integer, xPath As String
  128.     If Dir(S) = "" Then
  129.         AR = Split(S, "\")
  130.         xPath = AR(0)
  131.         For I = 1 To UBound(AR) - 1
  132.             xPath = xPath & "\" & AR(I)
  133.             If Dir(xPath, vbDirectory) = "" Then MkDir xPath
  134.         Next
  135.     End If
  136. End Sub
½Æ»s¥N½X
¦]¬°§Ú­nªº¤å¦rÀÉ°£¤F­ÓªÑ¥N¸¹©M¦WºÙ¤§¥~¡AÁÙ¦³¤é´Á¤]­n¤@¨Ö¼g¤J¡A©Ò¥H§Ú´N¦Û¤v¥[¤F¥H¤U³o¨ÇªF¦è
  1.             With IE
  2.                 .document.getElementById("StockNo").Value = E
  3.                 .document.getelementsByTagName("INPUT")("sub").Click  '«ö¤U¬d¸ß
  4.                        '³o¸Ìªº¬d¸ß¬O<INPUT TYPE="submit" VALUE="¬d¸ß" name="sub">
  5.                 Do While .Busy Or .readyState <> 4:    Loop
  6.                 Ep .document.getelementsByTagName("TABLE")(5).outerHTML
  7.             End With
  8.         
  9.         For x = 0 To A
  10.             With IE
  11.                 .document.getelementsByTagName("select")("SCA_DATE")(x).Selected = True
  12.                                             '³o¸Ìªº¸ê®Æ¤é´Á »Ý¥Î Select ¥¦¬O¦³[¦~«×¤ë¥÷¤é´Á]ªº
  13.                 .document.getElementById("StockNo").Value = E
  14.                 .document.getelementsByTagName("INPUT")("sub").Click  '«ö¤U¬d¸ß
  15.                        '³o¸Ìªº¬d¸ß¬O<INPUT TYPE="submit" VALUE="¬d¸ß" name="sub">
  16.                 Do While .Busy Or .readyState <> 4:    Loop
  17.                 Ep .document.getelementsByTagName("TABLE")(6).outerHTML
  18.             End With
  19.             With IE
  20.                 .document.getelementsByTagName("select")("SCA_DATE")(x).Selected = True
  21.                                             '³o¸Ìªº¸ê®Æ¤é´Á »Ý¥Î Select ¥¦¬O¦³[¦~«×¤ë¥÷¤é´Á]ªº
  22.                 .document.getElementById("StockNo").Value = E
  23.                 .document.getelementsByTagName("INPUT")("sub").Click  '«ö¤U¬d¸ß
  24.                        '³o¸Ìªº¬d¸ß¬O<INPUT TYPE="submit" VALUE="¬d¸ß" name="sub">
  25.                 Do While .Busy Or .readyState <> 4:    Loop
  26.                 Ep .document.getelementsByTagName("TABLE")(7).outerHTML
  27.             End With
½Æ»s¥N½X
1.­º¥ý²Ä¤@¬q¬O¬°¤F­nÂ^¨ú("TABLE")(5)¤~¯à¶×¤J­ÓªÑ¦WºÙ¡A©Ò¥H§Ú¥[¤F³o¨Ç»yªk¡A¥Ñ©ó­ÓªÑ¦WºÙ¥u»Ý­nÂ^¨ú¤@¦¸
    ©Ò¥H±N³o¬q»yªk¼g¦bx°j°é¤§¥~¡A¦ý¤£ª¾¹D³o¼Ëªº»yªk¥¿¤£¥¿½T
2.¦]¬°­nÂ^¨úªº¤é´Á¬O¦b("TABLE")(6)¡A©Ò¥H±N³o¬q¤]¼g¤J¡A´N¥u¬O½Æ»s("TABLE")(7)ªº§ï¦¨6¦Ó¤w¡A¤]¤£½T©w³o¼Ë¼g¨ì©³¥¿¤£¥¿½T
3.¥H¤Wµ{¦¡½X¦b2003¨Ï¥ÎF8³v¦æ°õ¦æ®É¬O¥i¥H¥¿±`ªº¡A¦ý¨Ï¥ÎF5³sÄò°õ¦æ®É¦³®É·|¥X¿ù¡A¤£µM´N¬O("TABLE")(5)©M("TABLE")(6)·|¦³¸ê®Æ­«ÂЩΪ̺|§ì
    ¥H("TABLE")(6)§ì¨ìªº¤é´Á¨Ó»¡¡A·|§ì¨ì¨â­Ó¤@¼Ëªº¤é´Á(¤é´Á¿ù»~)¡A¦ý¸ê®Æ¤º®eªº("TABLE")(7)«o¬O¤£¦Pªº(¤º®e¥¿½T)¡A¤]´N¬O¤é´Á©M¸ê®Æ¤º®e¹ï¤£¤W
    ¤£ª¾¹D¬O¤£©M§Úªº»yªk¦³°ÝÃD

¥t¥~¥ý«e¦V±z´£¹L¡A¥Î2007°õ¦æ¤W­zµ{¦¡½X®É·|¥X¿ù¡A¥X¿ù¥N½X¬°"424"¡A¥X¿ù°T®§¬°"¦¹³B»Ý­nª«¥ó"¡A§Ú¦³ÂI»¡©ú¶i¥h¬Ý¡A¦ý¯uªº¬Ý¤£¤ÓÀ´
§Ú±N»¡©ú¤º®e¦s¦¨PDF¤@°_©ñ¦bªþ¥ó¤¤¡A¥i¥Hªº¸Ü¦A³Â·Ð±z¬Ý¬Ý¬O¤£¬O¥i¥H§ä¥X¬°¤°»ò³o­Óµ{¦¡½X¨Sªk¦b2007°õ¦æªº­ì¦]¡A¦A¦¸·PÁ±z¡I

TOP

¦^´_ 70# GBKEE
«¢Åo¡Iª©¥D±z¦n¡A¦A«×±N±z­×¥¿¹L«á³£µ{¦¡½X¥N¤J¤§«á¤´¬O¦b¬Û¦P¦ì¸m¥X²{"424"ªº¿ù»~¡A¥Ñ©ó±zªºEXCELª©¥»¨Ã«D2007¡A©Ò¥H¤]¨S¿ìªk¤@¤@´ú¸Õ§Úªº¿ù»~
¬Ý¨Ó³o­Ó°ÝÃD¦ü¥G»Ý­n¦AºCºC¬ã¨s
§Ú¥Î2003°õ¦æ¬O¥¿±`ªº¡A¤£¹L¦b°õ¦æªº¹Lµ{¤¤¡A§Úµo²{§ì¤U¨Óªº¸ê®Æ·|¦³¤@¨Ç°ÝÃD

¦p¹Ï¡A¦³¨Ç¤é´Áªº¸ê®Æ¬O­«ÂЪº¡A¦³¨Ç¤é´Áªº¸ê®Æ«oº|§ì¡A103¦~3¤ë¥÷§ì¤F2¦¸¡A103¦~2¤ë«oº|§ì¡A¦ý³o­Ó±¡ªp¥u¦³¦b«ö¤UF5³sÄò°õ¦æ®É¤~·|µo¥Í
«öF8³v¦æ°õ¦æ«h¤£·|¡A¤£ª¾¹D¬°¤°»ò·|³o¼Ë¡H·Q½Ð°Ý¨â­Ó°ÝÃD
1.³oºØª¬ªp¦³¿ìªk¥[¤J¨ä¥Lµ{¦¡½X¨ÓÁקK¶Ü¡H
2.´N§Úªº·PıÀ³¸Ó¬OF5³sÄò°õ¦æªº³t«×¤Ó§Ö¡A¥H­P©óºô­¶¤ÏÀ³¤£¤Î¡AÁÙ¨Ó¤£¤Î¸õ¨ì¤U¤@µ§¤é´Á´N§ì¸ê®Æ¤F¤~·|¥X¿ù¡A¤£ª¾¹D³o¼Ë±ÀÂ_¥¿¤£¥¿½T¡H

ªþ¤W§¹¾ãªº¤å¦rÀÉ¡A¦A³Â·Ð±zÀ°¦£¬Ý¬ÝÅo¡I·PÁ¡I
1103¹Åªd¶°«O¤á.zip (1.99 KB)

TOP

¦^´_ 70# GBKEE
ª©¥D±z¦n¡A§Ú¦bµL·N¤¤µo²{¤F¥i¥H¸Ñ¨M¿ù»~ªº¤èªk¡A¤]¤£»Ý­n¦A¥t¥~³]ª«¥ó¡A¥u­n±N.document.getElementById("StockNo").Value=E
§ï¦¨.document.All("StockNo").Value=E´N¥i¥H¤F¡A¤]´N¬OgetElementById§ï¦¨All´N¥i¥H¥¿±`°õ¦æ¤F
¥u¬O¤£²M·¡¬°¤°»ò³o¼Ë§ï´N¥i¥H¤F
  1.     For Each E In Rng
  2.         With Sheets(1)
  3.             .Activate
  4.             .Cells.Clear  '¤U¸ü¸ê®Æ¸m©ó¦¹¤u§@ªí,ÅÜ´«ªÑ²¼®É:²MªÅ
  5.         End With
  6.         For x = 0 To A
  7.             With IE
  8.                 .document.getelementsByTagName("select")("SCA_DATE")(x).Selected = True
  9.                                             '³o¸Ìªº¸ê®Æ¤é´Á »Ý¥Î Select ¥¦¬O¦³[¦~«×¤ë¥÷¤é´Á]ªº
  10.                 .document.All("StockNo").Value = E
  11.                 .document.getelementsByTagName("INPUT")("sub").Click  '«ö¤U¬d¸ß
  12.                 Do While .Busy Or .readyState <> 4:    Loop
  13.                 If x = 0 Then Sheets(1).Cells(1) = .document.getelementsByTagName("TABLE")(5).INNERTEXT
  14.                 Ep .document.getelementsByTagName("TABLE")(6).INNERTEXT
  15.                 Ep .document.getelementsByTagName("TABLE")(7).outerHTML
  16.             End With
  17.         Next x
  18.         xFile = xPath & "\" & E & "\SHD.txt"
  19.         MkDir_Sub xFile
  20.         Maketxt xFile, Sheets(1).UsedRange, E.Value
  21.         ii = ii + 1
  22.         Application.StatusBar = Application.Text(Time - T, ["MM¤ÀSS¬í"]) & " ¦@¶×¤J¤W¥«¤ë¦¨¥æ " & ii & " ¤å¦rÀÉ"
  23.     Next E
½Æ»s¥N½X
¤£¹L¤S¹J¨ì¤F¥t¤@­Ó°ÝÃD¡A´N¬O·í­ÓªÑ¹J¨ì¨S·í¦~«×¤ë¥÷ªº¸ê®Æ®É¡A´N·|¥X²{¬dµL¸ê®Æªºµøµ¡¡A³o¬O³sÄò°õ¦æªºµ²ªG


¦Ó·í§Ú¥ÎF8³v¦æ°õ¦æªºµ²ªG¡A·í¹J¨ì¬dµL¦~«×¤ë¥÷¸ê®Æ®É¡A´N·|¤@ª½¦bDo While .Busy Or .readyState <> 4:    Loop°õ¦æµL½a°j°é
½Ð°Ý³o³¡¤À¬O§_¦³¿ìªk¸Ñ¨M¡H§Ú­Ó¤H²q·QÀ³¸Ó¬O­n­×¥¿ÅܼÆA©Îxªºµ{¦¡½X¡A¦ý«o¤£²M·¡¸Ó«ç»ò­×§ï¡A¥u¦n¦A³Â·Ð±zÀ°¦£¬Ý¬Ý¤F¡AÁÂÁ¡I

TOP

¦^´_ 73# GBKEE
ª©¥D±z¦n¡A¸ÕµÛ±N±z·s¼Wªºµ{¦¡½X¥N¤J¡Aªº½T¬O¥i¥HÁקK¿ù»~ªºµo¥Í¡A¦ý¦b°õ¦æµ{¦¡«á·|Åܦ¨Â^¨úªº¸ê®Æ¤£§¹¾ã
¨Ò¦p1301ªº¸ê®Æ¬O±q2014¦~5¤ë¨ì2013¦~5¤ë¡A¥i¬O¦bÂ^¨ú¸ê®Æ®É«o¨S¿ìªk§ì¤U§¹¾ã¸ê®Æ¡A¦³®É¥u§ì¨ì¤@­Ó¤ë¡A¦³®É¥u§ì¨ì¤T­Ó¤ë
¤£ª¾±z¬O§_¯àÀ°¦£°õ¦æ¬Ý¬Ý¬O§_©M§Ú»¡ªºµ²ªG¬Û¦P
¬Û¸û©ó¤§«eÁÙ¥¼¥[¤J±z¦b73#ªºµ{¦¡½X¡AÁöµM·í¹J¨ì¬dµL¤é´Á·|¥X¿ù¡A¤£¹L·í¦³§¹¾ã¤@¦~¥÷¸ê®Æ¤é´Á®É
§ì¨ìªº¸ê®Æ³£¬O§¹¾ãªº
§Ú¦Û¤v¤]¦³¾AµÛ¼g¤J¤@¨Çµ{¦¡½X¡A©ÎµÛÅÜ´«µ{¦¡½Xªº¤@¨Ç¥ý«á¦ì¸m¡A¦ý°õ¦æµ²ªG³£¤£²z·Q
¤£ª¾¹D¦³¨S¦³§ó¾A¦Xªºµ{¦¡½X¡A¯àÁקK¥X¿ù¡A¤]¯àÅý§ì¨ìªº¸ê®Æ¬O§¹¾ãªº¡A¦A³Â·Ð±zÀ°¦£¬Ý¬Ý¤F¡AÁÂÁ¡I
ªþ±a¤@´£¡A¤£·|¥X¿ùªº¨º­Óµ{¦¡¥ÎF8³v¦æ°õ¦æ¦ü¥G¥i¥H§ì¨ì§¹¾ã¸ê®Æ¡A¦ý¥ÎF5³sÄò°õ¦æ¡A§ì¨ìªº¸ê®Æ´N·|¤£§¹¾ã
¤£ª¾¹D¬O¤£¬O¦]¬°¥Î³sÄò°õ¦æªº³t«×¤Ó§Ö¡Aºô­¶¨Ó¤£¤Î¤ÏÀ³¡A©Ò¥H§ì¨ìªº¸ê®Æ¤~¤£§¹¾ã
¶°«O¨â­Óµ{¦¡+¨â­Ó¸ê®Æ¤£§¹¾ã¤å¦rÀÉ.zip (47.24 KB)

TOP

¦^´_ 73# GBKEE
ª©¥D¡A¤£¦n·N«ä¡A¤W¤@½g¦^ÂШ䤤¤@­ÓÀɮצ³¿ù»~¡A§Ú¦A­«·sªþ¤W
¥t¥~§Úªá¤F¤@¨Ç®É¶¡°µ¥X¤F¥t¤@­Óª©¥»ªºµ{¦¡¡A¬O§Q¥ÎÀx¦s®æ¿é¤J¤é´Á·í§@°j°é¡A¤w´ú¸Õ¥i¥H§ì¸ê®Æ¡A¦ý¦³¨Ç¤p°ÝÃD¡G
1.¦³¨Ç»yªk§Ú¤£¤ÓÀ´«ç»ò²¤Æ¡A©Ò¥H¥i¯à¼gªº¤ñ¸û½ÆÂø¤@ÂI
2.§Q¥ÎÀx¦s®æ·í¤é´Á°j°éªº¯ÊÂI¡A´N¬O¨C­Ó¤ë³£­n§ó·sÀx¦s®æ¤¤ªº¤é´Á
3.§Ú¦Û¤v¼gªºµ{¦¡½X°õ¦æ¨ì¥N½X1340®ÉÁÙ¬O·|¥X¿ù¡A¤£¹L¦pªG§â²Ä¤@­Ó¥N½X­«·s³]¦¨1340¶}©l§ì¸ê®Æ¤S¥¿±`
4.¦]¬°ªíÀYªº¤å¦r·|­«ÂЧì¨ú¡A¦ý§Ú¥u»Ý­n¤@¦¸¡A©Ò¥H¥Î¤@¦C¤@¦C§R°£ªº²Â¤èªk

³o­Óµ{¦¡¼gªº¤ñ¸û²ÊÁW¡A§ì¸ê®Æªº³t«×¦ü¥G¤]¤ñ¸ûºC¡A¤£¹L½T¹ê¥i¥H¹F¨ì§Ú»Ý­nªºµ²ªG¡A°£¤F¹J¨ì¬Y¨Ç¥N½X·|¥d¦í»Ý­n­«·s³]©w¥~
¨ä¥L³£ÁÙOK¡A¦A½Ð±zÀ°¦£¬Ý¤@¤U¬O§_¦³¿ù»~ªº¦a¤è»Ý­n­×¥¿¡AÁÂÁ¡I
¶°«O·sªº.zip (42.48 KB)
  1. Option Explicit
  2. Sub ¶°«O§¹¦¨()
  3.     Dim E As Range, X As Range, URL As String, xPath As String, xFile As String, rng As Range, rng1 As Range
  4.     Dim Msg As Boolean, I As Integer, t As Date, S As String, BB As String, CC As String, rng2 As Range
  5.     t = Time
  6.     URL = "URL;http://www.tdcc.com.tw/smWeb/QryStock.jsp?SCA_DATE="
  7.     BB = "&SqlMethod=StockNo&StockNo="
  8.     CC = "&sub=%ACd%B8%DF"
  9.     xPath = "D:\°]³ø¸ê®Æ"
  10.     With ThisWorkbook
  11.         With .Sheets(3)
  12.             Set rng = .Range("A1", .Range("A1").End(xlDown))
  13.             Set rng1 = .Range("B1", .Range("B1").End(xlDown))
  14.         End With
  15. '        .Sheets(3).Activate    '¨âºØ¼gªk³£¥i¥H ¤£¹L²Ä¤@ºØ¤ñ¸û²¤Æ ©Ò¥H²Ä¤GºØ¸õ¹L
  16. '        .Sheets(3).Range("a1").Select
  17. '        Range(Selection, Selection.End(xlDown)).Select
  18. '        Set rng = Selection
  19. ''        Set rng = .Sheets(3).Range("A:A")  '³o¸Ì³o¼Ë³]©w·|Åܦ¨µL½a°j°é
  20. '        .Sheets(1).Activate
  21.         With .Sheets(1)      '¬¡­¶Ã¯ªº²Ä 1 ±i¤u§@ªí
  22.             If .QueryTables.Count = 0 Then
  23.                 With .QueryTables.Add(Connection:=URL, Destination:=.Range("$A$1"))
  24.                     .Refresh BackgroundQuery:=False
  25.                 End With
  26.             End If
  27.             
  28.             For Each E In rng
  29.                 With ThisWorkbook
  30.                 .Sheets(2).Cells.Clear
  31. '                .Activate
  32.                 .Sheets(1).Cells.Clear  '¤U¸ü¸ê®Æ¸m©ó¦¹¤u§@ªí,ÅÜ´«ªÑ²¼®É:²MªÅ
  33.             End With

  34.                 For Each X In rng1
  35.                     With .QueryTables(1)
  36.                         .Connection = URL & X & BB & E & CC
  37.                         .PreserveFormatting = True
  38.                         .BackgroundQuery = True
  39.                         .RefreshStyle = xlInsertDeleteCells
  40.                         .SaveData = True
  41.                         .AdjustColumnWidth = True
  42.                         .RefreshPeriod = 0
  43.                         .WebSelectionType = xlSpecifiedTables
  44.                         .WebFormatting = xlWebFormattingNone
  45.                         .WebTables = "6,7,8"
  46.                         On Error GoTo xlnext
  47.                         .WebPreFormattedTextToColumns = True
  48.                         .WebConsecutiveDelimitersAsOne = True
  49.                         .Refresh BackgroundQuery:=False
  50.                     End With
  51.                     Set rng2 = Sheets(1).UsedRange
  52.                     If Sheets(2).Range("a1") = "" Then
  53.                         rng2.Copy Sheets(2).Range("a" & .Rows.Count).End(xlUp)
  54.                     Else
  55.                         rng2.Copy Sheets(2).Range("a" & .Rows.Count).End(xlUp).Offset(2, 0)
  56.                     End If
  57.                 Next X
  58. xlnext:
  59.                     Sheets(2).Range("2:2,22:22,43:43,64:64,85:85,106:106,127:127,148:148,169:169,190:190,211:211,232:232,253:253").Delete
  60.                     xFile = xPath & "\" & E & "\SHD.txt"
  61.                     MkDir_Sub xFile       '10#ªºµ{¦¡ 'C¼Ñ¤Uªº©u·l¯qªí¸ê®Æ§¨¤£»Ý¥ý«Ø¥ß
  62.                     Maketxt xFile, Sheets(2).UsedRange

  63. '                S = " " & Sheets(1).QueryTables(1).ResultRange(1)
  64. '                If Val(S) < 0 Then S = " ¬dµL"
  65.                 I = I + 1
  66.                 Application.StatusBar = Application.Text(Time - t, ["MM¤ÀSS¬í"]) & "  " & E & "¶×¤J" & I & "­Ó¤å¦rÀÉ"
  67.                 Msg = False
  68.             Next E
  69.         End With
  70.     End With
  71.     MsgBox "¦@¶×¤J ¤å¦rÀÉ" & I & " ¶O®É " & Application.Text(Time - t, ["MM¤ÀSS¬í"])
  72. End Sub
  73. Sub MkDir_Sub(S As String)
  74.     Dim AR, I As Integer, xPath As String
  75.     If Dir(S) = "" Then
  76.         AR = Split(S, "\")
  77.         xPath = AR(0)
  78.         For I = 1 To UBound(AR) - 1
  79.             xPath = xPath & "\" & AR(I)
  80.             If Dir(xPath, vbDirectory) = "" Then MkDir xPath
  81.         Next
  82.     End If
  83. End Sub
  84. Sub Maketxt(xF As String, Q As Range)   '±N¶×¤J¸ê®Æ¦s¤J«ü©wªºtxt
  85.     Dim fs As Object, E As Range, C As Variant
  86.     Set fs = CreateObject("Scripting.FileSystemObject")
  87.     Set fs = fs.CreateTextFile(xF, True)  '³Ð¨£¤@­ÓÀÉ®×,¦pÀɮצs¦b¥iÂл\±¼
  88.     For Each E In Q.Rows
  89.         C = Application.Transpose(Application.Transpose(E.Value))
  90.         C = Join(C, vbTab)
  91.         fs.WriteLine C
  92.     Next
  93.     fs.Close
  94. End Sub
½Æ»s¥N½X

TOP

¦^´_ 73# GBKEE
Sorry¡AÀx¦s®æ¤S§Ñ¤F¶ñ¤W¸ê®Æ¡A¦Aªþ¤W¥¿½TÀÉ®×
¶°«O-³]©w¤é´Á¬°Àx¦s®æ°j°é.zip (26.86 KB)

TOP

¦^´_  smart3135
GBKEE µoªí©ó 2014-5-26 17:13

GBKEEª©¥D±z¦n¡A¥h¦~¦³¦V±z½Ð±Ð¦p¦ó¥Î°j°é§ì¨úªÑ¥«¤j¶q¸ê®Æ¡AÀ°§U«D±`¤j¡A¤µ¦~¤w¸g¦³·sªº¦~«×¸ê®Æ¡A§Ú·Q­n§ì¨ú·sªº¦~«×¸ê®Æ
¦ý¤£ª¾¹D¬°¤°»ò¥h¦~«×¥i¥H¥¿±`°õ¦æªºVBAµ{¦¡½X¡A¨ì¤F¤µ¦~«o·|¤@ª½¥X¿ù¡A§Ú¹Á¸Õ·s¼W¡B§R°£¡BÅܧó¤@¨Çµ{¦¡½X¡A¦ý³£µL®Ä
¯à¤£¯à½Ð±z¦A¦¸À°¦£¬Ý¬Ýµ{¦¡½X¦³¤°»ò°ÝÃD¶Ü¡H·PÁ±z¡I
¤W¥«¦~¦¨¥æ¸ê°T.zip (22.07 KB)
¥X¿ù¹Ï

TOP

¥»©«³Ì«á¥Ñ smart3135 ©ó 2015-2-11 08:33 ½s¿è
¦^´_  smart3135
GBKEE µoªí©ó 2015-2-10 17:29

ª©¥D±z¦n¡A¦³¸ÕµÛ®M¥Î±zªºµ{¦¡½X¡A¦ý¦b¥[¤JRefresh«á·|¥X²{¤U¹Ï¿ù»~


­Y¬O±NRefreshµù¸Ñ¸õ¹L¡A¬O¥i¥H¶¶§Q°õ¦æ¡A¤£¹L¦³®É­Ô¶]¨ì¤@¥bªº®É­Ô´N¤£°Ê¤F¡A¦ü¥G¬O¦b°õ¦æµL­­°j°é
¥²¶·­n«öESC±j¨î°±¤î¡A¦A«ö°»¿ù´N·|¸õ¨ìDo While .Busy Or .ReadyState <> 4:    Loop³o¬qµ{¦¡½X
À³¸Ó´N¬O³o¬qµ{¦¡½X¦b°õ¦æµL­­°j°é



¤W¥«¦~¦¨¥æ¸ê°T.zip (27.04 KB)

TOP

        ÀR«ä¦Û¦b : ­n§åµû§O¤H®É¡A¥ý·Q·Q¦Û¤v¬O§_§¹¬üµL¯Ê¡C
ªð¦^¦Cªí ¤W¤@¥DÃD