Board logo

¼ÐÃD: [µo°Ý] ½Ð°Ý¯à§_±N2­ÓVBA¥¨¶°¦X¨Ö¦¨1­ÓVBA¥¨¶° [¥´¦L¥»­¶]

§@ªÌ: lcctno    ®É¶¡: 2015-7-23 21:05     ¼ÐÃD: ½Ð°Ý¯à§_±N2­ÓVBA¥¨¶°¦X¨Ö¦¨1­ÓVBA¥¨¶°

¥»©«³Ì«á¥Ñ lcctno ©ó 2015-7-23 21:06 ½s¿è

§Ú¬Oªì¾ÇªÌ ºô¸ô¤W§ä¤F¼Æ¤Ñ ¦ý¤@ª½§ä¤£¨ì¤èªk ½Ð°ª¤â­Ì©Ô§Ú¤@§â ÁÂÁÂ

VBA¥¨¶°.1
Sub §Y®É²b­È()
Dim E As Object, myItems As Object, myitem
    With CreateObject("InternetExplorer.Application")
        .Visible = True
        .Navigate "http://www.yuantaetfs.com/#/RtNav/Index"
        Do While .Busy Or .readyState <> 4: DoEvents: Loop
        'Application.Wait Now + #12:00:01 AM#   '¦³¿ù¦b¶}±Ò
        Set myItems = .Document.getElementsByTagName("button")
        For Each myitem In myItems
            If myitem.Name = "Agree" Then
                myitem.Click                              '«ö¤U°e¥X¬d¸ß«ö¶s
            End If
        Next
        Application.Wait Now + #12:00:01 AM#
        Set E = .Document.getElementsByTagName("TABLE")(21)
         .Document.body.innerHTML = E.outerHTML
        .ExecWB 17, 2       '  Select All
        .ExecWB 12, 2       '  Copy selection
        With ActiveSheet
            '.Cells.Clear
            .[A1].Select
            .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
        End With
        .Quit        'Ãö³¬ºô­¶
    End With
    Range("L1:Q19").Select
    Selection.ClearContents
        Range("D16:D17").Select
    With Selection.Interior
        .ColorIndex = 35
        .Pattern = xlSolid
    End With
End Sub


VBA¥¨¶° 2
Sub °ê¤º«ü¼Æ()
Dim E As Object, myItems As Object, myitem
    With CreateObject("InternetExplorer.Application")
        .Visible = True
        .Navigate "http://www.yuantaetfs.com/#/Home/Index"
        Do While .Busy Or .readyState <> 4: DoEvents: Loop
        'Application.Wait Now + #12:00:01 AM#   '¦³¿ù¦b¶}±Ò
        Set myItems = .Document.getElementsByTagName("button")
        For Each myitem In myItems
            If myitem.Name = "Agree" Then
                myitem.Click                              '«ö¤U°e¥X¬d¸ß«ö¶s
            End If
        Next
        Application.Wait Now + #12:00:01 AM#
        Set E = .Document.getElementsByTagName("TABLE")(22)
         .Document.body.innerHTML = E.outerHTML
        .ExecWB 17, 2       '  Select All
        .ExecWB 12, 2       '  Copy selection
        With ActiveSheet
            '.Cells.Clear
            .[A27].Select
            .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
        End With
        .Quit        'Ãö³¬ºô­¶
        End With
         Range("A39:E39").Select
    Selection.ClearContents
        Range("C27:C28").Select
    With Selection.Interior
        .ColorIndex = 35
        .Pattern = xlSolid
    End With
End Sub
§@ªÌ: Min    ®É¶¡: 2015-7-25 00:22

³o¼Ë¶Ü? ¨þ¨þ¨þ~ ¤£¬O«ÜÀ´±z·Q­nªº...

sub run_all()
call §Y®É²b­È()
call °ê¤º«ü¼Æ()
end sub
§@ªÌ: lcctno    ®É¶¡: 2015-7-25 06:57

¦^´_ 2# Min

·PÁ±z¼ö¤ßªº¦^ÂÐ ¦ý±z³o¼Ë°Z¤£¬O¤S¼W¥[¤F1­Ó¥y¶° Åܦ¨3­Ó¥¨¶°¤F
§Ú¬O§Æ±æ¯à°÷²¤Æ¦¨¤@­Ó¥¨¶°´N¯à¥]§t¨º2­Ó¥¨¶°ªº°Ê°µ ¥B¥\¯à¤£ÅÜ
§@ªÌ: GBKEE    ®É¶¡: 2015-7-25 14:01

¦^´_ 3# lcctno
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Object, Ar(), i As Integer
  4.     Ar = Array("http://www.yuantaetfs.com/#/RtNav/Index", "http://www.yuantaetfs.com/#/Home/Index")
  5.     'Ar = Array(ºô§}:§Y®É²b­È,ºô§}:°ê¤º«ü¼Æ) ºô§}¸m¤J°}¦C
  6.     ActiveSheet.UsedRange.Clear
  7.     For i = 0 To 1
  8.         With CreateObject("InternetExplorer.Application")
  9.             .Visible = True
  10.             .Navigate Ar(i)
  11.             Do While .Busy Or .readyState <> 4: DoEvents: Loop
  12.             If i = 0 Then  '°ê¤º«ü¼Æ:¤£»Ý«ö¤U¦P·NÁä
  13.                 Do
  14.                     Set E = .Document.getElementByid("Agree")
  15.                 Loop Until Not E Is Nothing
  16.                 E.Click
  17.             End If
  18.             Do
  19.                 Do
  20.                     Set E = .Document.getElementsByTagName("TABLE")(21 + i)
  21.                     '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
  22.                 Loop Until Not E Is Nothing
  23.             Loop Until E.all.Length >= IIf(i = 0, 431, 150) '
  24.             .Document.body.innerHTML = E.outerHTML
  25.             .ExecWB 17, 2       '  Select All
  26.             .ExecWB 12, 2       '  Copy selection
  27.             With ActiveSheet
  28.                 .Range("A" & IIf(i = 0, 1, 27)).Select
  29.                 .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
  30.                 With .Range(IIf(i = 0, "D16:D17", "C27:C28")).Interior
  31.                     .ColorIndex = 35
  32.                     .Pattern = xlSolid
  33.                 End With
  34.             End With
  35.             .Quit        'Ãö³¬ºô­¶
  36.         End With
  37.     Next
  38. End Sub
½Æ»s¥N½X

§@ªÌ: lcctno    ®É¶¡: 2015-7-25 23:40

¦^´_ 4# GBKEE

·PÁ±zªºÀ°§U ¦ý§Ú¶O¤F¨Ç®É¶¡ÁÙ¬OµLªk¸Ñ¨M°ÝÃD °ÝÃD¦p¤U §Æ±æ¤£¬O¤j°ÝÃD ¦A¦¸ªºÁÂÁ±zªºÀ°§U

1.·|¥d¦í
[attach]21480[/attach]

2.¿ù»~°T®§
[attach]21481[/attach]

3.°»¿ù
[attach]21482[/attach]
§@ªÌ: GBKEE    ®É¶¡: 2015-7-26 07:28

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-7-26 07:32 ½s¿è

¦^´_ 5# lcctno

IE ¬°¦ó·|¤¤Â_³sô? Ie8 «Ü¶¶ºZªº,ADSL 5M/384K
½Ð§iª¾ºô§}¬O i=0 §Y®É²b­È, i=1°ê¤º«ü¼Æ
¦p·|¤¤Â_³sô³o¸Ì´N·|¤F
  1. Do
  2.                     Set E = .Document.getElementsByTagName("TABLE")(21 + i)
  3.                     '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
  4.                 Loop Until Not E Is Nothing
½Æ»s¥N½X
­×§ï¸Õ¸Õ
  1. If i = 0 Then  '°ê¤º«ü¼Æ:¤£»Ý«ö¤U¦P·NÁä
  2.                 Do
  3.                     Set E = .Document.getElementByid("Agree")
  4.                 Loop Until Not E Is Nothing
  5.                 E.Click
  6.                 Do While .Busy Or .readyState <> 4: DoEvents: Loop
  7.             End If
½Æ»s¥N½X

§@ªÌ: lcctno    ®É¶¡: 2015-7-26 08:23

¦^´_ 6# GBKEE

1.À³¸Ó¤£¬O¤U¸ü©Î¤W¶Ç³t«×ªº°ÝÃD §Ú¬O¨Ï¥Î¤¤µØ¹q«H¥ú¥@¥N¤Wºôªº

2.À³¸Ó¬O§Ú¹Lµ{±Ô­zªº¤£¦n §Ú¦A±Ô­zªº²M·¡¤@ÂI
·í°õ¦æ¸Ó¥¨¶°«á EXCELLÀɤº¨Ã¥¼¸ü¤J¥ô¦óªF¦è ªÅ¥Õ¤@¤ù·í¤U¥uµo¥Í¦Û°Ê¶}±ÒIE11 °±¦b"5¼Óªº¹Ï1.·|¥d¦í" ·í§ÚÃö±¼IE«á´N¥X²{ "¹Ï2.¿ù»~°T®§" ¹Ï3.¬O°»¿ù«áªººI¹Ï

¦A¦¸ªº·PÁ±zªº¥Î¤ßªºÀ°§U §Æ±æ±z¬ÝÀ´ªì¾ÇªÌªº§Ú¦b±Ô­z¤°»ò
§@ªÌ: no3-taco    ®É¶¡: 2015-7-26 09:22

¥»©«³Ì«á¥Ñ no3-taco ©ó 2015-7-26 09:24 ½s¿è

¥ý¥[¤Jµ{¦¡½X¸Ì­±¨º¨â¦æ¡A­×§ï§¹«á¶]¤@¦¸
À³¸Ó·|¥X²{¨â¦¸°T®§®Ø¡A°O¦í¼Æ¦rµM«á§ï
E.all.Length >= IIf(i = 0, 431, 150)  '²Ä¤@¦¸¥X²{¼Æ¦r´À´«431 ,²Ä¤G¦¸¥X²{¼Æ¦r´À´«150

µL»~«á,´¡¤Jªº¨º¨â¦æ´N¥i¥H§R±¼¤F
¤£¾å±o¬O¤£¬Oieª©¥»¤£¦PªºÃö«Y
  1. '.Visible = True                     '¥ýÁôÂÃ

  2. Dim Atime: Atime = Timer     '¥[¤J³o¸Ì######_1
  3. Do
  4.     Do
  5.         Set E = .document.getElementsByTagName("TABLE")(21 + i)
  6.         '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
  7.     Loop Until Not E Is Nothing
  8.     If Timer - Atime > 5 Then MsgBox E.all.Length: Exit Do     '¥[¤J³o¸Ì######_2
  9. Loop Until E.all.Length >= IIf(i = 0, 431, 150)     '¶]¹L¤@¦¸«á­n­×§ïªº¦a¤è
½Æ»s¥N½X

§@ªÌ: azrael19    ®É¶¡: 2015-7-26 09:41

¦^´_  GBKEE

1.À³¸Ó¤£¬O¤U¸ü©Î¤W¶Ç³t«×ªº°ÝÃD §Ú¬O¨Ï¥Î¤¤µØ¹q«H¥ú¥@¥N¤Wºôªº

2.À³¸Ó¬O§Ú¹Lµ{±Ô­zªº¤£ ...
lcctno µoªí©ó 2015-7-26 08:23


¸Õ¸Õ¬Ý...
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Object, Ar(), i As Integer
  4.     Ar = Array("http://www.yuantaetfs.com/#/RtNav/Index", "http://www.yuantaetfs.com/#/Home/Index")
  5.     'Ar = Array(ºô§}:§Y®É²b­È,ºô§}:°ê¤º«ü¼Æ) ºô§}¸m¤J°}¦C
  6.     ActiveSheet.UsedRange.Clear
  7.     For i = 0 To 1
  8.         With CreateObject("InternetExplorer.Application")
  9.             .Visible = True
  10.             .Navigate Ar(i)
  11.             Do While .Busy Or .readyState <> 4: DoEvents: Loop
  12.             If i = 0 Then  '°ê¤º«ü¼Æ:¤£»Ý«ö¤U¦P·NÁä
  13.                 Do
  14.                     Set E = .Document.getElementByid("Agree")
  15.                 Loop Until Not E Is Nothing
  16.                 E.Click
  17.             End If
  18.             Do
  19.                 Do
  20.                     Set E = .Document.getElementsByTagName("TABLE")(21 + i)
  21.                     '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
  22.                 Loop Until Not E Is Nothing
  23.             'Loop Until E.all.Length >= IIf(i = 0, 431, 150) '
  24.             Loop Until 0 < InStr(1, E.outerHTML, IIf(i = 0, "°ò¥»¸ê®Æ", "¥xÆW¥[ÅvªÑ»ù«ü¼Æ"))  '§ï¥Î¬ÛÃö¦r¦ê½T»{¬O§_¦³¸ê®Æ
  25.             .Document.body.innerHTML = E.outerHTML
  26.             .ExecWB 17, 2       '  Select All
  27.             .ExecWB 12, 2       '  Copy selection
  28.             With ActiveSheet
  29.                 .Range("A" & IIf(i = 0, 1, 27)).Select
  30.                 .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
  31.                 With .Range(IIf(i = 0, "D16:D17", "C27:C28")).Interior
  32.                     .ColorIndex = 35
  33.                     .Pattern = xlSolid
  34.                 End With
  35.             End With
  36.             .Quit        'Ãö³¬ºô­¶
  37.         End With
  38.     Next
  39. End Sub
½Æ»s¥N½X

§@ªÌ: GBKEE    ®É¶¡: 2015-7-26 10:28

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-7-27 09:53 ½s¿è

¦^´_ 7# lcctno

·í¤U¥uµo¥Í¦Û°Ê¶}±ÒIE11 °±¦b"5¼Óªº¹Ï1.
¦¹µ{¦¡°õ¦æ«á·|¦^¨ìVBA½s¿èµøµ¡,¨Ã¥´¶}'§Y®É¹Bºâ"ªºµøµ¡
½Ð²Ä¤@­ÓSTOP ¤§«á«ö¤UF5
¦p°±¯d¦bVBA½s¿èµøµ¡,"§Y®É¹Bºâ"¤@ª½¦³¦r¦ê¥X²{,¥Nªíµ{¦¡¤@ª½¦bµ¥«áIEªº¸ê®Æ,¬OIE ªº°ÝÃD
**½Ð­@¤ßµ¥­Ô¨ì¤U ¤@­Ó STOP ¤§«á«ö¤UF5 **
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Object, Ar(), i As Integer
  4.     Ar = Array("http://www.yuantaetfs.com/#/RtNav/Index", "http://www.yuantaetfs.com/#/Home/Index")
  5.     'Ar = Array(ºô§}:§Y®É²b­È,ºô§}:°ê¤º«ü¼Æ) ºô§}¸m¤J°}¦C
  6.     ActiveSheet.UsedRange.Clear
  7.     For i = 0 To 1
  8.         With CreateObject("InternetExplorer.Application")
  9.             .Visible = True
  10.             .Navigate Ar(i)
  11.             Do While .Busy Or .readyState <> 4: DoEvents: Loop
  12.             If i = 0 Then  '°ê¤º«ü¼Æ:¤£»Ý«ö¤U¦P·NÁä
  13.                 Do
  14.                     Set E = .Document.getElementByid("Agree")
  15.                 Loop Until Not E Is Nothing
  16.                 E.Click
  17.             End If
  18.             .Visible = False
  19.             Application.VBE.MainWindow.Visible = True
  20.             Application.VBE.Windows("§Y®É¹Bºâ").Visible = True
  21.             Stop  '¤§«á«ö¤UF5
  22.             Do
  23.                 Do
  24.                     Set E = .Document.getElementsByTagName("TABLE")(21 + i)
  25.                     '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
  26.                     Debug.Print i, "e Is Nothing ->", E Is Nothing
  27.                 Loop Until Not E Is Nothing
  28.                     Debug.Print i, "e Is Nothing ->", E Is Nothing, "e.all.Length", E.all.Length
  29.             Loop Until E.all.Length >= IIf(i = 0, 431, 150) '
  30.             Stop  '¤§«á«ö¤UF5
  31.             
  32.             Application.VBE.Windows("§Y®É¹Bºâ").Visible = False
  33.             Application.VBE.MainWindow.Visible = False
  34.             .Document.body.innerHTML = E.outerHTML
  35.             .ExecWB 17, 2       '  Select All
  36.             .ExecWB 12, 2       '  Copy selection
  37.             With ActiveSheet
  38.                 .Range("A" & IIf(i = 0, 1, 27)).Select
  39.                 .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
  40.                 With .Range(IIf(i = 0, "D16:D17", "C27:C28")).Interior
  41.                     .ColorIndex = 35
  42.                     .Pattern = xlSolid
  43.                 End With
  44.             End With
  45.             .Quit        'Ãö³¬ºô­¶
  46.         End With
  47.     Next
  48. End Sub
½Æ»s¥N½X

§@ªÌ: lcctno    ®É¶¡: 2015-7-26 10:30

¦^´_ 9# azrael19

¥i¥H¥¿±`¤F
    ·PÁ±zªº¥Î¤ß  ³o¼Ë´N¥i¥H¥¿±`Åã¥Ü2²Õ¦X¨Öªº¥¨¶°
§@ªÌ: lcctno    ®É¶¡: 2015-7-26 10:51

¦^´_ 10# GBKEE
µLªk°õ¦æ(­ì¦]:§Ú¬Oµæ³¾µL¯à¤O­×§ï§¹¦¨)
1 »yªk¿ù»~
[attach]21485[/attach]

2.¿ù»~¤º®e
[attach]21486[/attach]

·PÁ±z¼ö¤ßªº°Ñ»P ÁÂÁ±z
§@ªÌ: lcctno    ®É¶¡: 2015-7-26 11:13

¦^´_ 9# azrael19

¦³¤@­Ó©µ¦ùªº°ÝÃD ¯à§_§PŪ¦pªþ¹Ï¤º¥kºÝ¾ã±Æ¸ê®Æ¤§º¦©Î¶^
[attach]21487[/attach]

©Î¥i±N¹ê»Ú¤§½bÀY¤è¦V¤@¨Ö§e²{ §Ú¦b¥ÎIF§PÂ_

ÁÂÁ±z
§@ªÌ: lcctno    ®É¶¡: 2015-7-26 12:09

¦^´_ 8# no3-taco
¥Ñ©óµ¥ºô¯¸¹ïµæ³¾ªº¨C¤p®É¥u¯à¦^ÂÐ3¦¸ªº­­¨î ¬G±ß¤F¦^ÂÐ

¥Ñ©ó­Ó¤Hªì¾Ç¥¨¶° ¨S¯à¤O²Õ¦X½ÆÂøªºªF¦è ¤£¹LÁÙ¦n¦³¼ö¤ßªº°ª¤â¤l9¼Ó)¤w¸Ñ¨M¤F§Úªº°ÝÃD
ÁÙ¬O«D±`·PÁ±z¼ö¤ßªº°Ñ»P¦^´_ ÁÂÁ±z
§@ªÌ: azrael19    ®É¶¡: 2015-7-26 21:53

¦^´_  azrael19

¦³¤@­Ó©µ¦ùªº°ÝÃD ¯à§_§PŪ¦pªþ¹Ï¤º¥kºÝ¾ã±Æ¸ê®Æ¤§º¦©Î¶^


©Î¥i±N¹ê»Ú¤§½bÀY¤è¦V¤@ ...
lcctno µoªí©ó 2015-7-26 11:13


¥Î­ì¥»ªº¤è¦¡§ÚÁÙ¤£ª¾¹D­n«ç»ò°µ¡A¦pªG§Aªº»Ý¨D¥u¬O­n§ì¸ê®Æ¡A¤U­±¬O¥t¤@ºØ¤è¦¡§A¸Õ¸Õ¬Ý...
  1. Option Explicit
  2. Option Base 1

  3. Sub Ex()
  4.     Dim HEAD As Variant, PARAM As Variant, PA As Variant, AR As Variant, v As Variant
  5.     Dim i As Integer, j As Integer, k As Integer
  6.     Dim s As String, ErrDescription As String
  7.     Dim objCol As Object
  8.    
  9.     '°Ñ¼Æ : ºô§},ªíÀY©ñ¸m¦ì§},¸ê®Æ©ñ¸mÀx¦s®æ¦ì§},¼ÐµùÃC¦âÀx¦s®æ¦ì§}
  10.     PARAM = [{"http://www.yuantaetfs.com/api/RtNav","B1","B5","D16:D17"; "http://www.yuantaetfs.com/Home/IndexPrice","","B27","C27:C28"}]
  11.    
  12.     '¸ê®ÆªíÀY°}¦C¦r¦ê
  13.     HEAD = Array("{""¸ê®Æ®É¶¡"","""","""","""","""","""","""","""","""","""","""","""","""","""","""";" & _
  14.                  """°ò¥»¸ê®Æ"","""",""²b­È"","""","""","""",""¥«»ù"","""","""","""",""§é·¸»ù"","""",""ªì¯Å¥«³õ"","""",""°òª÷"";" & _
  15.                  """ªÑ²¼"",""°òª÷"",""¬Q¦¬"",""¹w¦ô"",""º¦¶^"",""º¦¶^´T"",""¬Q¦¬"",""³Ì·s"",""º¦¶^"",""º¦¶^´T"",""§é·¸»ù"",""´T«×"",""¥i§_"",""¥i§_"",""Àç·~¤é"";" & _
  16.                  """¥N½X"",""¦WºÙ"",""²b­È"",""²b­È"","""","""",""¥«»ù"",""¥«»ù"","""","""","""","""",""¥ÓÁÊ"",""Å«¦^"",""""}", "")
  17.                  
  18.     'Regular Expression
  19.     PA = Array("{""fundId"":""[\d]+"",""etfId"":""(.+?)"",""name"":""(.+?)"",""ename"":""[^""]*"",""yestNav"":(.+?),""nav"":(.+?),""navFluct"":(.+?),""yestPrice"":(.+?),""price"":(.+?),""priceFluct"":(.+?),""yestIndex"":(.+?),""index"":(.+?),""indexFluct"":(.+?),""updateTime"":""(.+?)"",""AllowMark"":""(.+?)"",""RedemMark"":""(.+?)"",""BussMark"":""(.+?)"",[^}]+}", _
  20.                "{""fund_id"":null,""IndexCode"":""[^""]*"",""IndexName"":""([^""]+)"",""IndexEName"":""[^""]*"",""crncy"":""[^""]*"",""area"":""D"",""DayDate"":""[^""]*"",""Close"":(.+?),""yestClose"":(.+?),""Diff"":(.+?)}")

  21.     ActiveSheet.UsedRange.ClearContents
  22.    
  23.     For i = LBound(PARAM) To UBound(PARAM)
  24.    
  25.         '§ì¨úJSON¸ê®Æ
  26.         With CreateObject("WinHttp.WinHttpRequest.5.1")
  27.             .Open "GET", PARAM(i, 1), False
  28.             .send
  29.             If 200# <> .Status Then
  30.                 ErrDescription = "ºô­¶Åª¨ú¥¢±Ñ!"
  31.                 GoTo Catch
  32.             End If
  33.             s = .responseText
  34.         End With
  35.         
  36.         With ActiveSheet
  37.             If "" <> PARAM(i, 2) Then
  38.                 '©ñ¸mªíÀY¸ê®Æ
  39.                 AR = Application.Evaluate(HEAD(i))
  40.                 .Range(PARAM(i, 2)).Resize(UBound(AR, 1), UBound(AR, 2)).Value = AR
  41.                 Erase AR
  42.             End If
  43.             If "" <> PA(i) Then
  44.                 '¸ÑªRJSON¦r¦ê¤¤©Ò»Ý¸ê®Æ
  45.                 With CreateObject("VBScript.RegExp")
  46.                     .Global = True
  47.                     .Pattern = PA(i)
  48.                     If False = .test(s) Then: GoTo Catch
  49.                     Set objCol = Nothing
  50.                     Set objCol = .Execute(s)
  51.                 End With
  52.                 If 0 = objCol.Count Then
  53.                     ErrDescription = "¸ê®Æ®æ¦¡¸ÑªR¿ù»~!"
  54.                     GoTo Catch
  55.                 End If
  56.                 ReDim AR(1 To objCol.Count, 1 To objCol(1).SubMatches.Count) As Variant
  57.                 For j = 0 To objCol.Count - 1
  58.                     For k = 0 To objCol(0).SubMatches.Count - 1
  59.                         AR(j + 1, k + 1) = objCol(j).SubMatches(k)
  60.                     Next k
  61.                 Next
  62.             End If
  63.             
  64.             Select Case i
  65.                 Case 1
  66.                     '­«·s±Æ¦C¤Î­×¥¿¸ê®Æ¥H²Å¦Xºô­¶ªí®æ©Ò§e²{¼Ë»ª
  67.                     For j = 0 To objCol.Count - 1
  68.                         AR(j + 1, 9) = AR(j + 1, 8)                            'º¦¶^
  69.                         AR(j + 1, 8) = AR(j + 1, 7)                            '³Ì·s¥«»ù
  70.                         AR(j + 1, 7) = AR(j + 1, 6)                            '¬Q¦¬¥«»ù
  71.                         AR(j + 1, 6) = Round(AR(j + 1, 5) / AR(j + 1, 3), 4)   'º¦¶^´T
  72.                         AR(j + 1, 10) = Round(AR(j + 1, 9) / AR(j + 1, 7), 4)  'º¦¶^´T
  73.                         AR(j + 1, 11) = AR(j + 1, 8) - AR(j + 1, 4)            '§é·¸»ù
  74.                         AR(j + 1, 12) = Round(AR(j + 1, 11) / AR(j + 1, 4), 4) '´T«×
  75.                     Next j
  76.                     .Range("B1").Value = "¸ê®Æ®É¶¡:" & Trim(objCol(0).SubMatches(11))
  77.                     With .Range(PARAM(i, 3)).Resize(UBound(AR, 1), UBound(AR, 2))
  78.                         '³]©wÀx¦s®æ®æ¦¡
  79.                         v = Split("@,@,0.00,0.00,0.00,0.00%,0.00,0.00,0.00,0.00%,0.00,0.00%", ",")
  80.                         For j = LBound(v) To UBound(v)
  81.                             .Columns(j + 1).NumberFormat = v(j)
  82.                         Next
  83.                         .Value = AR
  84.                     End With
  85.                     Erase AR
  86.                 Case 2
  87.                     For j = 0 To objCol.Count - 1
  88.                         AR(j + 1, 3) = AR(j + 1, 4)                            '«ü¼Æº¦¶^
  89.                         AR(j + 1, 4) = Round(AR(j + 1, 3) / AR(j + 1, 2), 4)   'º¦¶^´T(%)
  90.                     Next
  91.                     With .Range(PARAM(i, 3)).Resize(UBound(AR, 1), UBound(AR, 2))
  92.                         '³]©wÀx¦s®æ®æ¦¡
  93.                         v = Split("@;#,##0.00;#,##0.00;0.00%", ";")
  94.                         For j = LBound(v) To UBound(v)
  95.                             .Columns(j + 1).NumberFormat = v(j)
  96.                         Next
  97.                         .Value = AR
  98.                     End With
  99.                     Erase AR
  100.                 Case Else
  101.             End Select
  102.         
  103.             '¼Ðµù³]©wÀx¦s®æ¦ì§}ÃC¦â
  104.             With .Range(PARAM(i, 4)).Interior
  105.                 .ColorIndex = 35
  106.                 .Pattern = xlSolid
  107.             End With
  108.         End With
  109.         
  110.     Next
  111.    
  112. Finally:
  113.     Set objCol = Nothing

  114.     Exit Sub
  115. Catch:

  116.     If "" <> ErrDescription Then: MsgBox ErrDescription, vbCritical
  117.     Err.Clear
  118.     Resume Finally

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

§@ªÌ: jackyq    ®É¶¡: 2015-7-26 22:49

¦^´_ 15# azrael19

¤j¤j¦n
·d±o«ç»ò½ÆÂø
°Ê¥Î¤F¤j¶qªº Regular Expression
«Ü²Ö§a
§@ªÌ: lcctno    ®É¶¡: 2015-7-26 22:54

¦^´_ 15# azrael19

¦Ñ¤H®a¦­ºÎ ©ú¦­¤S­n¦­°_¥~¥X¹B°Ê ±µµÛ¤S­n¨n½L °µ§Ú°Ñ»PªºªÑ(T50¤Ï1) ¤§¦¨¥æ¤Î²Î­p¨Ã¿é¤J ¦Ó±o¨ì¤ÀªR ¬Gµ¥§Ú¦³ªÅ®É(¬P´Á°²¤é) ¦A°µªñ¤@¨Bªº "Try Run" ÁٽШ£½Ì §Ú¬Û«H±zªº¯à¤O(¨Æ¹ê¤WÃÒ©ú±z¬O°ª¤â ¦æ®a¤@¥X¤â «Kª¾¦³¨S¦³) ¥u¬O§Ú­Ó¤Hªº¦]¯À µLªk§Y®ÉÅçÃÒ ÁٽШ£½Ì §Æ±æ¨Ó¤é¯à¦³¾÷·|¦^³ø±zªºÀ°§U (§Æ±æ¯à¦bªÑ¥«¤WÀ°¤W¦£) ¯uªº«Ü·PÁ±z
§@ªÌ: azrael19    ®É¶¡: 2015-7-26 23:21

¦^´_  azrael19

¤j¤j¦n
·d±o«ç»ò½ÆÂø
°Ê¥Î¤F¤j¶qªº Regular Expression
«Ü²Ö§a
jackyq µoªí©ó 2015-7-26 22:49


Regular Expression§Ú¦Û¤v¤]ı±o§Ú¼gªº¤S¯ä¤SªøÅý±z¨£¯º¤F¡A¨ä¹êºô¸ô¤W¦³²{¦¨ªºJSON ParserÃþ§O¥i¥H®³¨Ó¥Î¡A¥u¬Olcctno«e½ú§Æ±æµ{¦¡¥u¯à¦³¤@­Ó¥¨¶°¡A©Ò¥H¤~¥Î³oºØ¤è¦¡¨Ó³B²z

JSON Parser
https://code.google.com/p/vba-json/
§@ªÌ: jackyq    ®É¶¡: 2015-7-26 23:31

¦^´_ 18# azrael19

¤j¤j²ö©Ç,  ¨S¯º¤§·N
­Ó¤H²ßºD¬O®e©öºûÅ@­×§ï¬°²Ä¤@
¤£·Q¤é«á­×§ï¨ì®ÀÁÉ
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 06:09

¦^´_ 8# no3-taco
¦^´_ 9# azrael19
½Ð°Ý¨â¦ìªºieª©¥»,
no3-taco ´£¨Ñªº, MsgBox E.all.Length¬O¦h¤Ö,
  1. Loop Until E.all.Length >= IIf(i = 0, 431, 150)
½Æ»s¥N½X
³oµ{¦¡½X¬°¦ó¦bie8 ¨S°ÝÃD, lcctno ªºie µLªk°õ¦æ.
¨â¦ìªºIE ¤]·|¦³³o¼Ëªº°ÝÃD¶Ü?
§@ªÌ: no3-taco    ®É¶¡: 2015-7-27 07:34

¦^´_ 20# GBKEE

§Úªº¬Owin7 , IE 10 , office2010 »Ý­n§ï¦¨³o¼Ë
E.all.Length >= IIf(i = 0, 415, 135)

¥Î(azrael19¤j¤j)­×§ïªº³o¤@¥y¤]¤£¿ù
Loop Until 0 < InStr(1, E.outerHTML, IIf(i = 0, "º­²`¤Ï", "¥xÆW¥[ÅvªÑ»ù«ü¼Æ"))  '§ï¥Î¬ÛÃö¦r¦ê½T»{¬O§_¦³¸ê®Æ
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 08:12

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-7-27 08:15 ½s¿è

¦^´_ 21# no3-taco
ÁÂÁ§AªºµªÂÐ.
¥Ñ©ó§Úªº³nÅé(xp,2003)¤@ª½¨S¤É¯Å,©Ò¥H¦b¦^ÂФW¦³¨Ç¸¨®t.(«Ü©êºp)
¦A½Ð±Ð ²Ä10©«ªºµ{¦¡½X,¬°¦ó«D2003ª©,«Die8 ¤W°õ¦æ¦³»yªkªº¿ù»~.
¥i§_ À°¦£­×¥¿¤@¤U.
  1. Loop Until InStr(1, E.outerHTML, IIf(i = 0, "º­²`¤Ï", "¥xÆW¥[ÅvªÑ»ù«ü¼Æ"))
½Æ»s¥N½X
±ø¥ó¤½¦¡¶Ç¦^ªº¼Æ­È 0=False, ¤£µ¥©ó0³£¬°True
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 08:18

¦^´_ 15# azrael19

°õ¦æµ²ªG¥u¥X²{ "«¬ºA¤£²Å¦X" ¤§°T®§

[attach]21503[/attach]

§Ú¬Ý±z¯uªº«Ü¥Î¤ßÀ°§Ú¸Ñ¨M°ÝÃD ¤£½×µ²ªG¦p¦ó §ÚÁÙ¬O«Ü·PÁ±zªº§V¤O ÁÂÁ±z
§@ªÌ: azrael19    ®É¶¡: 2015-7-27 08:30

¦^´_ 20# GBKEE
§Úªº¬Owin7 , IE 11 , office2013
¸òno3-taco ¤@¼Ë»Ý­n§ï¦¨ E.all.Length >= IIf(i = 0, 415, 135)

¦^´_ 21# no3-taco
«á¨Ó§Ú§ï¦¨ Loop Until InStr(1, E.outerHTML, IIf(i = 0, "00638R", "¹q¤lÃþ¥[ÅvªÑ»ù«ü¼Æ"))¤ñ¸û¨S°ÝÃD

¦^´_ 19# jackyq
¦hÁÂjackyq¤j´£ÂI¡A§Ú¾Ç²ßµ{¦¡ªº¸gÅç¤j³¡¤À³£¬Oºô¸ô¤WGoogle§ì¨Ó¶K¤W­×§ï¡A¯u¥¿¦Û¤v¼gªº¤£¦h¡A½T¹ê±q¨S»{¯u¦Ò¼{¨ì¸Ó¦p¦ó¼g¤~¯àÅý«áÄòªººûÅ@¤u§@§ó»´ÃP¡AÃö©ó³o¤è­±ªº¸gÅç«e½ú¬O§_¥i¥H±ÀÂˬÛÃöªº®ÑÄy©Îºô¯¸¡AÁÙ¬O¦pªG§Ú­n¥ÎGoogle·j´M³o¤è­±ªº¸ê®Æ¸Ó¥Î¤°»ò¼ËªºÃöÁä¦r¡AÁÂÁÂ!

Ãö©ólcctno¤j­ô©Ò´£ªº°ÝÃD¤@¶}©l¦]¬°±qºô­¶ªº­ì©l½X¬Ý¤£¨ì¸ê®Æ¡A§Ú¤~·Q¥h±NJSON¸ê®Æ¤º®e­«²Õ¨Ó¶K¡A®Ú¾Újackyq¤j±zªº«Øij§Ú·QÁÙ¬OÀ³¸Ó¥H GBKEE ª©¥D¤@¶}©l©Ò±Ð¥ÎIE¨Ó§ì¨úªº¤è¦¡³Ì®e©öºûÅ@¡A«á¨Ó§Ú¦³§ä¨ì°ÊºA²£¥Íªººô­¶­ì©l½X¤~µo²{§Ú°µ¤F¦n¦h¥Õ¤u¡A¥u­n¦b¶K¤W¤u§@ªí«e±Nºô­¶¬ÛÃö¦r¦ê¤º®e­×§ï­«²Õ´N¥i¥HÅý­t¸¹¥¿±`Åã¥Ü¥X¨Ó¡A¤U­±ªºµ{¦¡¬O¥Î GBKEE ª©¥D­ì©l½X¨Ó°µ­×§ï¡A¦pªG¦³§ó²³æªº¤è¦¡Á٧Ʊæ±z­Ì¯à¦h«ü¾É¤@¤U¡AÁÂÁÂ!
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Object, AR(), i As Integer, o As Object, k As Integer
  4.     AR = Array("http://www.yuantaetfs.com/#/RtNav/Index", "http://www.yuantaetfs.com/#/Home/Index")
  5.     'Ar = Array(ºô§}:§Y®É²b­È,ºô§}:°ê¤º«ü¼Æ) ºô§}¸m¤J°}¦C
  6.     ActiveSheet.UsedRange.Clear
  7.     For i = 0 To 1
  8.         With CreateObject("InternetExplorer.Application")
  9.             .Visible = True
  10.             .Navigate AR(i)
  11.             Do While .Busy Or .readyState <> 4: DoEvents: Loop
  12.             If i = 0 Then  '°ê¤º«ü¼Æ:¤£»Ý«ö¤U¦P·NÁä
  13.                 Do
  14.                     Set E = .Document.getElementByid("Agree")
  15.                 Loop Until Not E Is Nothing
  16.                 E.Click
  17.             End If
  18.             Do
  19.                 Do
  20.                     Set E = .Document.getElementsByTagName("TABLE")(21 + i)
  21.                     '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
  22.                 Loop Until Not E Is Nothing
  23.             'Loop Until E.all.Length >= IIf(i = 0, 431, 150) '
  24.             Loop Until InStr(1, E.outerHTML, IIf(i = 0, "00638R", "¹q¤lÃþ¥[ÅvªÑ»ù«ü¼Æ"))  '§ï¥Î¬ÛÃö¦r¦ê½T»{¬O§_¦³¸ê®Æ
  25.             
  26.             '§R°£¡¶ ¡¿ ²Å¸¹¨Ã¥[¤W¼Æ¦r­t¸¹Åã¥Ü
  27.             If 0 = i Then
  28.                 For Each o In E.getElementsByClassName("ng-binding upcolor")
  29.                     If InStr(1, o.innerText, "¡¶ ¡¿") Then
  30.                         o.innerHTML = Mid(o.innerText, 5)
  31.                     End If
  32.                 Next
  33.                 For Each o In E.getElementsByClassName("ng-binding downcolor")
  34.                     If InStr(1, o.innerText, "¡¶ ¡¿") Then
  35.                         o.innerHTML = "-" & Mid(o.innerText, 5)
  36.                     Else
  37.                         o.innerHTML = "-" & o.innerText
  38.                     End If
  39.                 Next
  40.             Else
  41.                 For Each o In E.getElementsByClassName("ChangesText2 downcolor")
  42.                     k = InStr(1, o.innerText, "(")
  43.                     If 0 < k Then
  44.                         o.innerHTML = "-" & Mid(o.innerText, 1, k - 1) & "(-" & Mid(o.innerText, k + 1)
  45.                     End If
  46.                 Next
  47.             End If
  48.             .Document.body.innerHTML = Replace(E.outerHTML, "<span class=""ng-hide"" ng-show=""o.price == 0"">0</span>", "") ' ¥h°£ [§é·¸»ù] ¼Æ¦r«á­±¦h¾lªº0
  49.             '.Document.body.innerHTML = E.outerHTML
  50.             'Stop
  51.             .ExecWB 17, 2       '  Select All
  52.             .ExecWB 12, 2       '  Copy selection
  53.             With ActiveSheet
  54.                 .Range("A" & IIf(i = 0, 1, 27)).Select
  55.                 .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
  56.                 With .Range(IIf(i = 0, "D16:D17", "C27:C28")).Interior
  57.                     .ColorIndex = 35
  58.                     .Pattern = xlSolid
  59.                 End With
  60.             End With
  61.             .Quit        'Ãö³¬ºô­¶
  62.         End With
  63.     Next
  64. End Sub
½Æ»s¥N½X

§@ªÌ: jackyq    ®É¶¡: 2015-7-27 08:38

¦^´_ 24# azrael19

¤j¤jªGµMÁo©ú
¤@ÂI´NÀ´
±qhtml¤U¤â´N¥i¥H¤F
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 08:57

¦^´_ 24# azrael19
ªGµM¬O°ª¤â ¤w¸gOK¤F ÁÂÁ±z¤F
[attach]21504[/attach]
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 09:23

¦^´_ 10# GBKEE

¦X3 ¤º¤§«ö¶s ¬O±zªºVBA»yªk ¦ý¦³¿ù»~ ²{±N¸ÓÀɮפW¶Ç ·PÁ±zªº¥Î¤ß
¥t¥~§iª¾©ó±z §Ú¬O¨Ï¥ÎWIN7 61¦ì¤¸  Office2003  IE11

[attach]21506[/attach]
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 09:51

¦^´_ 27# lcctno
no3-taco  ,azrael19 ´£¨Ñ
win7, IE 10 , office2010
win7 , IE 11 , office2013
»Ý­n§ï¦¨³o¼Ë
  1. E.all.Length >= IIf(i = 0, 415, 135)
½Æ»s¥N½X

§ä¥X »yªk¿ù»~,²Ä2­ÓStop µù¸Ñ²Å¸¹¨S¼Ð¦n, §A´£¨Ñªº¹Ï¥Ü­è¦n¾×¦í .
½Ð­×§ï«á¸Õ¸Õ¬Ý.
  1. Stop  '¤§«á«ö¤UF5
½Æ»s¥N½X


azrael19 ´£¨Ñªº»yªk
E.getElementsByClassName("ng-binding upcolor")
ie8¤£¤ä´©.
§@ªÌ: no3-taco    ®É¶¡: 2015-7-27 09:59

¦^´_ 22# GBKEE

¨ä¹ê§Ú¤]¤£¬O«Ü²M·¡¡A¯à¦b«üÂI°ÝÃDªºÄpµ²ÂI¦b­þ¶Ü

§Ú§ì¨ìªº¼Æ¶q´N³o»ò¦hLoop Until E.all.Length >= IIf(i = 0, 415, 135)¡A³£¤ñª©¤jªº¤Ö©Ò¥H·|¥d¦í¡C(§PÂ_¦¡§Ú¼g¤£¥X§¹¾ãªº)

¤U­±³o¨â¥y§Ú°õ¦æ³£¥i¥H¡A¦³¸ê®Æ³£·|§ìªº¨ì(¨S¦³¸ê®Æ§Ú´N¤£ª¾¹D¤F)¡A¤£ª¾¹Dª©¤j«üªº¬O¤°»ò(§Úªº§PÂ_¯à¤O¦³­­¡A¨S¦³«Ü²`¤J¤F¸Ñ)
Loop Until InStr(1, E.outerHTML, IIf(i = 0, "º­²`¤Ï", "¥xÆW¥[ÅvªÑ»ù«ü¼Æ"))
Loop Until 0 < InStr(1, E.outerHTML, IIf(i = 0, "º­²`¤Ï", "¥xÆW¥[ÅvªÑ»ù«ü¼Æ"))
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 10:11

¦^´_ 29# no3-taco
±ø¥ó¬O¶Ç¦^ªº­È True °õ¦æ, False ¤£°õ¦æ
  1. Option Explicit
  2. Sub Ex()
  3.     Dim AR(), E As Variant
  4.     AR = Array(1, 5, 0, -1, -2)
  5.     For Each E In AR
  6.          'MsgBox E & " = " & IIf(E, True, False)
  7.          If E Then MsgBox E
  8.     Next
  9. End Sub
½Æ»s¥N½X

§@ªÌ: lcctno    ®É¶¡: 2015-7-27 10:15

¦^´_ 28# GBKEE

¤£ª¾¹D§Ú¦³¨S¦³§ï¿ù §ÚVBA¯uªº«Ü¤£À´ «ÜÃøª¾¹D(¤j³¡¤À¸ò¥»¤£ª¾¹D)±z©Ò»¡ªº ÁٽШ£½Ì
[attach]21507[/attach]

­×¥¿«áªºÀÉ®×
[attach]21508[/attach]
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 10:28

¦^´_ 31# lcctno

[attach]21509[/attach]
   
§Avba ªº¤u§@ªíª«¥ó¦WºÙ»Pµ{¦¡½Xªºµ{§Ç¦WºÙ¬Û¦Pªº½Ä¬ð.¶·­×§ï
¦X1(¦X1)
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 10:38

¦^´_ 32# GBKEE

§Y®É²b­È ¦X1 ¦X2 §¡¯à¥¿±`¹B§@
±zªº¤º®e¬O¨Ï¥Î¦b¦X3 ½ÐTRY¦X3¤º¤§«ö¶s5 SUB»yªk»P¨ä¥L¬Ò¬Û¦P¤è¦¡©R¦W °ß¿W¦X3 µLªk¥¿±`???
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 10:46

¦^´_ 32# GBKEE
¤w§ï¦X3
[attach]21510[/attach]

§ï«á¥X²{
[attach]21511[/attach]
§@ªÌ: no3-taco    ®É¶¡: 2015-7-27 10:48

¦^´_ 28# GBKEE

§ÚÁÙ¬O¤£²M·¡ª©¤j«üªº¬O­þ¤@¥y¦³°ÝÃD
¦ý¬O
E.all.Length >= IIf(i = 0, 415, 135) ¡A³o­Ó­È§Aªºª©¥»ÁÙ¨S§â¼Æ¶q§ì§¹´N·|°õ¦æ¤U¤@¦æ¤F
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 10:49

¦^´_ 33# lcctno
§A¦A¸Õ¤@¦¸, §Y®É²b­È ¦X1 ¦X2 ¯à¥¿±`¹B§@?
2003­×§ïSub ¦X3 ªº¦WºÙ ,¦p Sub test ´N¥i¥H¤F,¦A¸Õ¸Õ¬Ý
¤]¥i½Ð no3-taco  ,azrael19 ¥Î2010,2013 ¸Õ¸Õ¬Ý
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 10:53

¦^´_ 35# no3-taco
0< ¥i¬Ù²¤±¼
  1. Loop Until InStr(1, E.outerHTML, IIf(i = 0, "º­²`¤Ï", "¥xÆW¥[ÅvªÑ»ù«ü¼Æ"))
  2. Loop Until 0 < InStr(1, E.outerHTML, IIf(i = 0, "º­²`¤Ï", "¥xÆW¥[ÅvªÑ»ù«ü¼Æ"))
½Æ»s¥N½X

§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 10:59

¦^´_ 34# lcctno


    [attach]21512[/attach]

§A¨S§ï¤S¦h¤F¤@­Ó­n±µ¦¬ªº°Ñ¼Æ.
´NSub test() ¸Õ¸Õ¬Ý
§@ªÌ: azrael19    ®É¶¡: 2015-7-27 11:15

¦^´_  lcctno
§A¦A¸Õ¤@¦¸, §Y®É²b­È ¦X1 ¦X2 ¯à¥¿±`¹B§@?
2003­×§ïSub ¦X3 ªº¦WºÙ ,¦p Sub test ´N¥i¥H¤F ...
GBKEE µoªí©ó 2015-7-27 10:49


³ø§iGBKEEª©¥D§Ú¥Î31#ÀÉ®×´ú¸Õ¤T­Ó³£¥i¥H§ì¨ì¸ê®Æ¡A¤U¹Ï¬O¦X3°T®§¸ê®Æ
[attach]21515[/attach]
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 11:23

¦^´_ 36# GBKEE

¥Ñ©ó¨ü­­©ó"¥»¯¸³W©w·|­û¨C¤p®É³Ì¦h¥u¯àµoªí 3 ­Ó©«¤l¡C" ¬G±ß¦^ÂÐ

¦X1 ¦X2  §¡¯à¥¿±`°Ê§@
¤£«H±z¥i±N«ö¶s5«ü©w¥y¶°¬°¦X1©Î¦X2

§Ú¨S¬Ý¨ì±z©Ò¿×ªº "§A¨S§ï¤S¦h¤F¤@­Ó­n±µ¦¬ªº°Ñ¼Æ"
[attach]21516[/attach]
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 11:40

¦^´_ 40# lcctno

¦X1 ¦X2  §¡¯à¥¿±`°Ê§@
¤£«H±z¥i±N«ö¶s5«ü©w¥y¶°¬°¦X1©Î¦X2

¬O¥i¥H¦ýµLªk¦bVBAµøµ¡¤¤«öF5°õ¦æ.
SUB ¦X3(¦X3) ,¬A©·¤º´N¬O­n±µ¦¬ªº°Ñ¼Æ
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 11:58

¦^´_ 41# GBKEE
§Ú¤§«e¬O¥Î¦P¼Ëªº»yªk  Sub ¦X3() ¤]µLªk¾Þ§@ ¥X²{400(¦p¹Ï)  ¦ý±z»¡­n§ï¦¨ Sub ¦X3(¦X3) ??? ©_©Ç »yªk¤@¼Ë¬O¨Ï¥ÎSub ¦X2() ¥i°õ¦æ ¦ýSub ¦X3() ´N¥X²{400???

[attach]21517[/attach]
§@ªÌ: no3-taco    ®É¶¡: 2015-7-27 12:15

¦^´_ 35# no3-taco

§Ú¥»¨Ó¥H¬°·|¦³¶¶§Çªº§ì¨ú¡A¸Õ¤F´X¦¸¦n¹³³£±q40¸õ¨ì415

    javascript:;
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 12:43

¦^´_ 42# lcctno
Sub ¦X3() ªº¦WºÙ§ï¦¨ Sub test() ,¦A¸Õ¸Õ¬Ý
¦^´_ 43# no3-taco
§Ú¬O·Q½Ð§A±N²Ä10¶Kªº­ì¥»µ{¦¡½X,¦bIE10ªº¤U°õ¦æ¬Ý¬ÝLength³Ì²×¬O¦h¤Ö
  1. Loop Until E.all.Length >= IIf(i = 0, 431, 150)
½Æ»s¥N½X

§@ªÌ: no3-taco    ®É¶¡: 2015-7-27 12:54

¦^´_ 44# GBKEE

win7(64bit) ,ie10

415©M135

javascript:;
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 13:07

¦^´_ 24# azrael19

§Ú¹ê¦b¬O¯uªº¤£¤Ó¦n·N«ä¦A³Â·Ð±z±N¤U¹Ï¤§¾ã±Æ¨Ò¦p1.27(0.10%) ¤§©Ò¥H0.10%) ®³±¼ ¥Ñ©ó§Ú¯uªº¤£À´ ¬G ÁÙ¬O«pµÛÁy¥Ö ³Â·Ð±z¦³ªÅ®ÉÀ°­Ó¤j¦£ ÁÂÁ±zªº¨¯³Ò

[attach]21522[/attach]
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 13:14

¦^´_ 44# GBKEE
Sub ¦X3() ªº¦WºÙ§ï¦¨ Sub test() ³o­Ó§Ú¸Õ¹L
·|Åܦ¨§ä¤£¨ì¥¨¶° ¦p¹Ï
[attach]21523[/attach]
§@ªÌ: GBKEE    ®É¶¡: 2015-7-27 13:28

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-7-27 13:34 ½s¿è

¦^´_ 47# lcctno


   
§A¦³»¡: ¤£«H±z¥i±N«ö¶s5«ü©w¥¨¶°¬°¦X1©Î¦X2
«ö¶s5­n­«·s«ü©w¥¨¶°


¦^´_ 45# no3-taco
ÁÂÁ§A
§@ªÌ: no3-taco    ®É¶¡: 2015-7-27 13:30

¥»©«³Ì«á¥Ñ no3-taco ©ó 2015-7-27 13:32 ½s¿è

¦^´_ 47# lcctno


1.§A«ö¶s­n®×¥kÁä¡A­«·s«ü©w¥¨¶°¡A
2.¤£µM´N¬OÂI£¸¤U¨º­Óµ{¦¡½X¸Ì­±¥ô·N¦ì¸m¦A®×f5
§@ªÌ: azrael19    ®É¶¡: 2015-7-27 13:41

¦^´_ 46# lcctno

¬O³o¼Ë¶Ü
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Object, AR(), i As Integer, o As Object, k As Integer
  4.     AR = Array("http://www.yuantaetfs.com/#/RtNav/Index", "http://www.yuantaetfs.com/#/Home/Index")
  5.     'Ar = Array(ºô§}:§Y®É²b­È,ºô§}:°ê¤º«ü¼Æ) ºô§}¸m¤J°}¦C
  6.     ActiveSheet.UsedRange.Clear
  7.     For i = 0 To 1
  8.         With CreateObject("InternetExplorer.Application")
  9.             .Visible = True
  10.             .Navigate AR(i)
  11.             Do While .Busy Or .readyState <> 4: DoEvents: Loop
  12.             If i = 0 Then  '°ê¤º«ü¼Æ:¤£»Ý«ö¤U¦P·NÁä
  13.                 Do
  14.                     Set E = .Document.getElementByid("Agree")
  15.                 Loop Until Not E Is Nothing
  16.                 E.Click
  17.             End If
  18.             Do
  19.                 Do
  20.                     Set E = .Document.getElementsByTagName("TABLE")(21 + i)
  21.                     '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
  22.                 Loop Until Not E Is Nothing
  23.             'Loop Until E.all.Length >= IIf(i = 0, 431, 150) '
  24.             Loop Until InStr(1, E.outerHTML, IIf(i = 0, "00638R", "¹q¤lÃþ¥[ÅvªÑ»ù«ü¼Æ"))  '§ï¥Î¬ÛÃö¦r¦ê½T»{¬O§_¦³¸ê®Æ
  25.             
  26.             '§R°£¡¶ ¡¿ ²Å¸¹¨Ã¥[¤W¼Æ¦r­t¸¹Åã¥Ü
  27.             If 0 = i Then
  28.                 For Each o In E.getElementsByClassName("ng-binding upcolor")
  29.                     If InStr(1, o.innerText, "¡¶ ¡¿") Then
  30.                         o.innerHTML = Mid(o.innerText, 5)
  31.                     End If
  32.                 Next
  33.                 For Each o In E.getElementsByClassName("ng-binding downcolor")
  34.                     If InStr(1, o.innerText, "¡¶ ¡¿") Then
  35.                         o.innerHTML = "-" & Mid(o.innerText, 5)
  36.                     Else
  37.                         o.innerHTML = "-" & o.innerText
  38.                     End If
  39.                 Next
  40.             Else
  41.                 '±N«ü¼Æº¦¶^¤Îº¦¶^´T%¦r¦ê¤À¶}¨Ã¥[¤W­t¸¹Åã¥Ü
  42.                 For Each o In E.getElementsByClassName("ChangesText2 upcolor")
  43.                     k = InStr(1, o.innerText, "(")
  44.                     If 0 < k Then
  45.                         o.outerHTML = "<td>" & Mid(o.innerText, 1, k - 1) & "</td><td>" & Replace(Mid(o.innerText, k + 1), ")", "</td>")
  46.                     End If
  47.                 Next
  48.                 For Each o In E.getElementsByClassName("ChangesText2 downcolor")
  49.                     k = InStr(1, o.innerText, "(")
  50.                     If 0 < k Then
  51.                         o.outerHTML = "<td>-" & Mid(o.innerText, 1, k - 1) & "</td><td>-" & Replace(Mid(o.innerText, k + 1), ")", "</td>")
  52.                     End If
  53.                 Next
  54.             End If
  55.             .Document.body.innerHTML = Replace(E.outerHTML, "<span class=""ng-hide"" ng-show=""o.price == 0"">0</span>", "") ' ¥h°£ [§é·¸»ù] ¼Æ¦r«á­±¦h¾lªº0
  56.             '.Document.body.innerHTML = E.outerHTML
  57.             'Stop
  58.             .ExecWB 17, 2       '  Select All
  59.             .ExecWB 12, 2       '  Copy selection
  60.             With ActiveSheet
  61.                 .Range("A" & IIf(i = 0, 1, 27)).Select
  62.                 .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
  63.                 With .Range(IIf(i = 0, "D16:D17", "C27:C28")).Interior
  64.                     .ColorIndex = 35
  65.                     .Pattern = xlSolid
  66.                 End With
  67.             End With
  68.             .Quit        'Ãö³¬ºô­¶
  69.         End With
  70.     Next
  71. End Sub
½Æ»s¥N½X

§@ªÌ: lcctno    ®É¶¡: 2015-7-27 13:54

¦^´_ 50# azrael19

¯uªº·PÁ±z ¤w¸g¦¨¥\¤F
[attach]21524[/attach]
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 14:08

¦^´_ 50# azrael19
¥i§_À°§Ú©ó"¦¨¥\¤F"¨º¹Ï¥[¤W"¬Q¦¬«ü¼Æ" ¤§¼Æ¾Úµ²ªG  ÁÂÁ ­Y«Ü³Â·Ð §Ú¥i¥H¥Î¨ä¥L¤è¦¡±o¨ì¨ºµ²ªGªº "=C27+D27"

[attach]21528[/attach]
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 14:59

¦^´_ 49# no3-taco
¥H¤U¤º®e¥i¯à¦³»~ ¦]¬°ÁÙ¬O¥X²{°T®§ "400"
Sub test()
Dim E As Object, AR(), i As Integer
    AR = Array("http://www.yuantaetfs.com/#/RtNav/Index", "http://www.yuantaetfs.com/#/Home/Index")
    'Ar = Array(ºô§}:§Y®É²b­È,ºô§}:°ê¤º«ü¼Æ) ºô§}¸m¤J°}¦C
    ActiveSheet.UsedRange.Clear
    For i = 0 To 1
        With CreateObject("InternetExplorer.Application")
            .Visible = True
            .Navigate AR(i)
            Do While .Busy Or .readyState <> 4: DoEvents: Loop
            If i = 0 Then  '°ê¤º«ü¼Æ:¤£»Ý«ö¤U¦P·NÁä
                Do
                    Set E = .Document.getElementByid("Agree")
                Loop Until Not E Is Nothing
                E.Click
            End If
            .Visible = False
            Application.VBE.MainWindow.Visible = True
            Application.VBE.Windows("§Y®É¹Bºâ").Visible = True
            Stop  '¤§«á«ö¤UF5
            Do
                Do
                    Set E = .Document.getElementsByTagName("TABLE")(21 + i)
                    '§Y®É²b­È ²Ä21­Ó "TABLE" ,'°ê¤º«ü¼Æ ²Ä22­Ó "TABLE"
                    Debug.Print i, "e Is Nothing ->", E Is Nothing
                Loop Until Not E Is Nothing
                    Debug.Print i, "e Is Nothing ->", E Is Nothing, "e.all.Length", E.all.Length
            Loop Until E.all.Length >= IIf(i = 0, 415, 135) '
            Stop  '¤§«á«ö¤UF5
            
            Application.VBE.Windows("§Y®É¹Bºâ").Visible = False
            Application.VBE.MainWindow.Visible = False
            .Document.body.innerHTML = E.outerHTML
            .ExecWB 17, 2       '  Select All
            .ExecWB 12, 2       '  Copy selection
            With ActiveSheet
                .Range("A" & IIf(i = 0, 1, 27)).Select
                .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
                With .Range(IIf(i = 0, "D16:D17", "C27:C28")).Interior
                    .ColorIndex = 35
                    .Pattern = xlSolid
                End With
            End With
            .Quit        'Ãö³¬ºô­¶
        End With
    Next
End Sub

[attach]21529[/attach]
§@ªÌ: azrael19    ®É¶¡: 2015-7-27 15:32

¦^´_ 52# lcctno

¨ä¹ê¤£·|³Â·Ð,¤£¹L§Ú·|¥ý«Øij±z±Nµ{¦¡¤¤ActiveSheet.UsedRange.Clear³o¤@¦æµù¸Ñ©Î§R±¼,³o¼Ë§A¦b¨ä¥¦Àx¦s®æ©Ò¥[ªº¥ô¦ó¤½¦¡©Î¤å¦r´N¤£·|³Q²M°£,³o¼Ë¤l·|¤ñ¥Îµ{¦¡¼g§ó¨ã¦³¼u©Ê...
  1. ActiveSheet.UsedRange.Clear
½Æ»s¥N½X
§ï¦¨
  1. 'ActiveSheet.UsedRange.Clear
½Æ»s¥N½X

§@ªÌ: lcctno    ®É¶¡: 2015-7-27 16:35

¦^´_ 54# azrael19
¤w±N¨º¦æ¥[¤W " ' " (µù¸Ñ)
·PÁ±z¤F
¤£ª¾±z¦³¨S¦³°Ñ»PªÑ²¼ §Ú¦³°µ¤j½L ¤Î ª÷¿ÄÃþªÑªº«ü¼Æ°µ¤ÀªR "¤j½L+ª÷¿Ä²Ö­pµo¥Í²v" ­Y¦³¿³½ì §Ú³]ªk±N²Î­pµ²ªGµ¹±z §Æ±æ¦³¾÷·|¯à¹ï±z¦³©Ò¦^õX

³¡¤À¤§¤@ªº¤ÀªRºI¹Ï
[attach]21536[/attach]
§@ªÌ: no3-taco    ®É¶¡: 2015-7-27 18:11

¦^´_ 53# lcctno

§A¶Kªº§Ú¦³°õ¦æ¡A¨S¦³°ÝÃD¡A¤]¬Ý¤£¥X­þ¸Ì¦³°ÝÃD
§Úı±o¥i¯à¬O¨ä¥L°ÝÃD
«Øij§A­«¶}¤@­ÓexcelÀÉ®×,¦A´ú¸Õ¬Ý¬Ý
¦A¤£¦æ§Ú¤]¨S¿ìªk
§@ªÌ: lcctno    ®É¶¡: 2015-7-27 18:30

¦^´_ 56# no3-taco
¨º©Ç¤F ¬O"¦X3"ùتº"«ö¶s5" ¯à¥¿±`°õ¦æ???  
¦]¬°¨ä¾l "§Y®É²b­È"  "¦X1"  "¦X2" ¦b§Ú³o¸Ì¥»¨Ó´N¯à¥¿±`¹B§@ ¥u¦³"¦X3"ùتº"«ö¶s5" °õ¦æ®É·|¥X²{°T®§ "400"
±z½T©w±z¬O°õ¦æ"¦X3"ùتº"«ö¶s5"¶ý?
ÁÂÁ±zªº¥Î¤ß ÁÂÁ¤F




Åwªï¥úÁ{ ³Â»¶®a±Ú°Q½×ª©ª© (http://forum.twbts.com/)