| ©«¤l219 ¥DÃD24 ºëµØ0 ¿n¤À243 ÂI¦W0  §@·~¨t²ÎWindows10 ³nÅ骩¥»Office2016 ¾\ŪÅv20 ©Ê§O¤k µù¥U®É¶¡2012-4-18 ³Ì«áµn¿ý2022-2-7 
  
 | 
                
| ¤£³]ªí®æ¦WºÙ(©ïÀY),¥H¤U¬Oקﳡ¤À¸ê®ÆÀ³¥Î ±æ½Ð×¥¿¿ù»~,ÁÂÁÂ..^___^..
 ½Æ»s¥N½XOption Explicit
Sub ¥Ó³øÂàÅý()
Dim ie As Object, xx, k, j, i, AA As Variant
Dim T As Date, ¸ê°T As String
    Do
        ¸ê°T = InputBox("1: ¾ú¥v«ùªÑÂàÅý" & vbLf & "2: ¦X¨Ö·l¯qªí")   '¿ï¾Ü¤½¶}¸ê°TÆ[´ú¯¸ªºªí®æ
        If ¸ê°T = "" Then Exit Sub                              '¤£¿ï¾Üµ²§ôµ{¦¡
    Loop Until Val(¸ê°T) > 0 And Val(¸ê°T) <= 2 '                Val(¸ê°T)<=???  µ²§ô¿ï¾Üªí³æ
    
    ActiveSheet.Cells.Clear
    Application.DisplayStatusBar = True
    Application.StatusBar = "....... ºô¶¶}±Ò¤¤.......... "
    
'On Error GoTo ie_err
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate ¤U¸üºô§}(¸ê°T)
    Do While ie.Busy Or ie.ReadyState <> 4
            DoEvents
    Loop
    With ie.Document
        T = Time
        Do While ie.Busy Or ie.ReadyState <> 4
            If Time = T + #12:01:00 AM# Then GoTo ie_err                'µ¥Ôºô¶²§±`:µ²§ôµ{¦¡
            DoEvents
        Loop
    '**********  ×§ï³o¸Ì ªº¿ï¶µ
    'http://mops.twse.com.tw/mops/web/t56sb21_q3?&step=0&firstin=1&off=1&TYPEK=sii&year=91&smonth=07&emonth=09
    
    .getelementbyID("TYPEK").Value = "sii"  '¤W¥« = sii,¤WÂd = otc,¿³Âd = rotc,¤½¶}µo¦æ = pub
    .getelementbyID("year").Value = "91"    '¦~«×
    .getelementbyID("smonth").Value = "07"  '°_¤ë¥÷
    .getelementbyID("emonth").Value = "09"  '°W¤ë¥÷
        For i = 0 To .getelementsbytagname("input").Length - 1
            If .getelementsbytagname("input")(i).Type = "button" And .getelementsbytagname("input")(i).Value = " ·j´M " Then
                .getelementsbytagname("input")(i).Click
            End If
        Next
        µ¥«Ýºô¶
        Set AA = .getelementsbytagname("table")   '¸ê®Æ°Ï
    End With
    T = Time
    With ActiveSheet
        .Cells(1).Select
        Application.ScreenUpdating = False
        k = 1
        On Error Resume Next
        For xx = ºô¶ªí®æ(¸ê°T) To AA.Length - 1
            For i = 0 To AA(xx).Rows.Length - 1      '¼g¤J¸ê®Æ
                k = k + 1
                For j = 0 To 19
                    Application.StatusBar = "¤U¸ü¸ê®Æ¤¤ ..." & k - 1
                    .Cells(k, j + 1) = AA(xx).Rows(i).Cells(j).innertext
                Next
            Next
        Next
        Set AA = .Range("R3:R" & .[R3].End(xlDown).Row)
        AA.Replace "¬O§_¥Ó³ø«ù", "", xlWhole
        AA.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
        .Cells(.Rows.Count, 1).End(xlUp).EntireRow.Delete
        .Cells.EntireColumn.AutoFit
        .[A1].Select
    End With
    Application.ScreenUpdating = True
    ie.Quit
    Application.StatusBar = "¤U¸ü¸ê®Æ®É¶¡ : " & Format(Time - T, ["S¬í"])
    End
ie_err:
    ie.Quit
    MsgBox "ºô¶¦³°ÝÃD,½Ð«·s°õ¦æ..."
    End
¸ê°T_Err:
End Sub
Private Sub µ¥«Ýºô¶()    'µ¥«Ýºô¶¤U¸ü¸ê®Æ§¹²¦ªº®É¶¡
    Dim Tt(1 To 3) As Date
    Tt(1) = Time
    Tt(2) = Time
    Tt(3) = #12:00:10 AM#     '10¬í ½Õ¾ã³o¸Ì
    Do
        If Time > Tt(2) Then
            Application.StatusBar = "ºô¶¤U¸ü¤¤ ³Ñ¾l¬í¼Æ.. " & Second(Tt(1) + Tt(3) - Time)
            Tt(2) = Time
        End If
        DoEvents
    Loop Until Time > Tt(1) + Tt(3)
    Application.StatusBar = "¸ê®Æ¤U¸ü¤¤...."
End Sub
Private Function ¤U¸üºô§}(xWord As String) As String      '¶Ç¦^¿ï¾Üªººô§}
    Select Case xWord
        Case "1"
            ¤U¸üºô§} = "http://mops.twse.com.tw/mops/web/t56sb21_q3" '¾ú¥v«ùªÑÂàÅý
        Case "2"
            ¤U¸üºô§} = "http://mops.twse.com.tw/mops/web/t51sb13" '¦X¨Ö·l¯qªí
        ''Case "3"     ·sºô¶ªººô§}
        ''
        ''
    End Select
End Function
Private Function ¥«³õ§O(xWord As String) As String
       '¤W¥« = sii,¤WÂd = otc,¿³Âd = rotc,¤½¶}µo¦æ = pub
    Select Case xWord
        Case "sii"
            ¥«³õ§O = "¤W¥«"
        Case "otc"
            ¥«³õ§O = "¤WÂd"
        Case "rotc"
            ¥«³õ§O = "¿³Âd"
        Case "pub"
            ¥«³õ§O = "¤½¶}µo¦æ"
    End Select
End Function
Private Function ºô¶ªí®æ(xWord As String) As Integer
    Select Case xWord
        Case "1"
            ºô¶ªí®æ = 11 
        Case "2"
            ºô¶ªí®æ = 12  '¦X¨Ö·l¯qªí
        
        ''¨C¤@ºô¶ªºªí³æ«Ø¸m¤£¤@¼Ë,»Ý¤@¤@¥h´M§ä
        '' ¦Û¦æ¬d¬Ý·s¼W Case "3"......
        ''
    End Select
End Function
 | 
 |