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

[µo°Ý] ½Ð°Ý³o¥i³]©wµ¥´X¬í¨S¶}ºô­¶©Îºô­¶¿ù»~´N°õ¦æ¤U¤@µ§¶Ü¡AÁÂÁÂ

[µo°Ý] ½Ð°Ý³o¥i³]©wµ¥´X¬í¨S¶}ºô­¶©Îºô­¶¿ù»~´N°õ¦æ¤U¤@µ§¶Ü¡AÁÂÁÂ

Private Sub GetDividend(ByVal ss As String)
    Dim rr As String

   rr = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=2412&" & ss & "&name1=D4&index1=12"     ' ¥¿½Tªº
    ¤u§@ªí2.Select
    Cells.Clear

    Set ie = CreateObject("internetexplorer.application") '¨Ï¥Î¦¹¤è¦¡¥i¥H§K°£ "³]©w¤Þ¥Î¶µ¥Ø"

    With ie
        .Visible = False 'True¬°¶}±Òie, False¬°¤£¶}±Òie
        .Navigate rr
        Do While .ReadyState <> 4 'µ¥«Ýºô­¶¶}±Ò
        DoEvents
        Loop
        .ExecWB 17, 2 'Select All
        .ExecWB 12, 2 'Copy selection
        
        ¤u§@ªí2.Range("A1").Activate
        
        ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
            False, NoHTMLFormatting:=True
    End With

     ie.Quit
   End Sub

Sub AllFile()
Dim i As Integer, v

On Error Resume Next
For i = 2 To ¤u§@ªí1.Range("A" & ¤u§@ªí1.Rows.Count).End(xlUp).Row

v = ¤u§@ªí1.Cells(i, 1).Value

Call GetDividend(v)
¤u§@ªí1.Cells(i, 9).Value = ¤u§@ªí2.Cells(34, 8).Value
Debug.Print ¤u§@ªí1.Cells(i, 1).Value & " " & ¤u§@ªí1.Cells(i, 2).Value

Next

End Sub

GetDividend.rar (72.65 KB)

¥»©«³Ì«á¥Ñ joey0415 ©ó 2013-9-17 21:26 ½s¿è

¦pªG¤u§@ªí¤Wªº§A·Q­nªº¬Y®æ¬OªÅ¦r¦ê¡A´N¸õ¹L
instr

·|¥X¿ùªº¦a¤è
¥ÎOn Error Resume Next

¦pªG¬Yºô­¶¬OªÅªº©Î¯S®í¦r¤¸¤]¸õ¹L

========================

ºô¸ô¤W§ä¨ìªº§Ú¦Û¤v«O¦sªº¦p¤U¡A¥i¥H§ó·s

                                   t1 = Timer
                                    Do Until oWin.ReadyState = 4
                                        DoEvents    '¸g±`´N¦b³o°±¤U¤£¹B¦æ¤F
                                        If Timer > t1 + 3 Then oWin.Refresh: t1 = Timer  '³o¸Ì¨ê·s¤@¤U¡A¦Û¤v¥h½Õ¾ã¤@¤U¦hªø®É¶¡¨ê·s
                                    Loop

TOP

joey ¤j

¶K¤W¤W­±ªºµ{¦¡½X¡A´N¤£°õ¦æ¤F¡A§Ú¦A¸Õ¸Õ¡AÁÂÁÂ

TOP

µ{¦¡°õ¦æ¤¤¦³¨Ç°T®§¥i©¿¯P¡A¨Ò¦p

ÁÂÁÂ

2013-09-17_224955.png (9.72 KB)

2013-09-17_224955.png

TOP

¤£­n¥Î¶K¤Wªº¤èªk¡A§ï¥Î¨Ò¦p

worksheetI("sheet1").cells(1,2)=worksheetI("sheet2").cells(1,2)

³o¼Ë´N¤£·|¥X²{¤W­±ªº°ÝÃD

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-9-19 08:26 ½s¿è

ºô§}¤U¿ù¤F¡A¦A­«¤W¸ü
Private Sub GetDividend(ByVal ss As String)
    Dim rr As String

   rr = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=" & ss & "&name1=D4&index1=12"     ' ¥¿½Tªº
    ¤u§@ªí2.Select
    Cells.Clear

    Set ie = CreateObject("internetexplorer.application") '¨Ï¥Î¦¹¤è¦¡¥i¥H§K°£ "³]©w¤Þ¥Î¶µ¥Ø"

    With ie
        .Visible = False 'True¬°¶}±Òie, False¬°¤£¶}±Òie
        .Navigate rr
        Do While .ReadyState <> 4 'µ¥«Ýºô­¶¶}±Ò
        DoEvents
        Loop
        .ExecWB 17, 2 'Select All
        .ExecWB 12, 2 'Copy selection
        
        ¤u§@ªí2.Range("A1").Activate
        
        ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
            False, NoHTMLFormatting:=True
    End With

     ie.Quit
   End Sub

Sub AllFile()
Dim i As Integer, v

For i = 2 To ¤u§@ªí1.Range("A" & ¤u§@ªí1.Rows.Count).End(xlUp).Row



v = ¤u§@ªí1.Cells(i, 1).Value

Call GetDividend(v)
¤u§@ªí1.Cells(i, 9).Value = ¤u§@ªí2.Cells(34, 8).Value: ¤u§@ªí1.Cells(i, 10).Value = ¤u§@ªí2.Cells(33, 8).Value
¤u§@ªí1.Cells(i, 11).Value = ¤u§@ªí2.Cells(32, 8).Value: ¤u§@ªí1.Cells(i, 12).Value = ¤u§@ªí2.Cells(31, 8).Value
¤u§@ªí1.Cells(i, 13).Value = ¤u§@ªí2.Cells(30, 8).Value: ¤u§@ªí1.Cells(i, 14).Value = ¤u§@ªí2.Cells(29, 8).Value
¤u§@ªí1.Cells(i, 15).Value = ¤u§@ªí2.Cells(28, 8).Value: ¤u§@ªí1.Cells(i, 16).Value = ¤u§@ªí2.Cells(27, 8).Value

If ¤u§@ªí2.Cells(34, 8).Value > 0 And ¤u§@ªí2.Cells(33, 8).Value > 0 And ¤u§@ªí2.Cells(32, 8).Value > 0 _
And ¤u§@ªí2.Cells(31, 8).Value > 0 And ¤u§@ªí2.Cells(30, 8).Value > 0 And ¤u§@ªí2.Cells(29, 8).Value > 0 _
And ¤u§@ªí2.Cells(28, 8).Value > 0 And ¤u§@ªí2.Cells(27, 8).Value > 0 Then
¤u§@ªí1.Cells(i, 17).Value = 1
Else
¤u§@ªí1.Cells(i, 17).Value = 0
End If

Next

End Sub

=================
½Ð°Ý On Error Resume Next
­n¥Î¦b FOR NEXT ¤U¤è
ÁÙ¬O ¤U¤è

­n§PÂ_¬O§_¤j©ó0¬O­n¥Î AND ÁÙ¬O &
¦pªG¦³¤£¬O¼Æ¦rªº¨Ò"-"­n¦p¦ó
ÁÂÁÂ

GetDividend.rar (72.15 KB)

TOP

¦^´_ 6# wufonna
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Dim ie As Object   '¼Ò²Õ³Ì³»ºÝ Dim ¨Ñ³o¼Ò²Õªºµ{§Ç¨Ï¥ÎªºÅܼÆ
  3. Sub AllFile()
  4.     Dim i As Integer, v, Y As Integer, S As String
  5.     S = "I"                                                 '2005 ¦~«×°_©lÄæ¦ì
  6.     Set ie = CreateObject("internetexplorer.application")   '¨Ï¥Î¦¹¤è¦¡¥i¥H§K°£ "³]©w¤Þ¥Î¶µ¥Ø"
  7.     With ie 'ÁY¤pIEµøµ¡
  8.         .Visible = True
  9.         .Width = 5
  10.         .Height = 5
  11.     End With
  12.     With ¤u§@ªí1

  13.         .Range(S & 1).CurrentRegion = ""            '²M°£¤u§@ªí1,¦~«×½d³ò
  14.         Do
  15.             .Range(S & 1).Offset(, Y) = 2005 + Y
  16.             Y = Y + 1
  17.         Loop While 2005 + Y < Year(Date)
  18.         For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
  19.             v = .Cells(i, 1).Value
  20.             GetDividend (v)
  21.             .Cells(i, S).Resize(, Y) = Application.WorksheetFunction.Transpose(¤u§@ªí2.Range("H4").Resize(Y))
  22.             If Application.Sum(.Cells(i, S).Resize(, Y)) > 1 Then
  23.                 .Cells(i, S).Offset(, Y) = 1
  24.             Else
  25.                 .Cells(i, S).Offset(, Y) = 0
  26.             End If
  27.         Next
  28.         .Range(S & 1).CurrentRegion.Replace "--", "", xlWhole
  29.     End With
  30.     With ie  'IEµøµ¡³Ì¤j¤Æ
  31.         Application.WindowState = xlMaximized
  32.         .Height = Application.Height
  33.         .Width = Application.Width
  34.         .Quit
  35.     End With
  36. End Sub
  37. Private Sub GetDividend(ByVal ss As String)

  38.     Dim rr As String, T As Date, i, ii, k, j, S
  39.     On Error Resume Next
  40.     T = Time
  41.     rr = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=" & ss & "&name1=D4&index1=12"     ' ¥¿½Tªº
  42.     With ie
  43.         .Navigate rr
  44.         Do While .ReadyState <> 4                          'µ¥«Ýºô­¶¤U¸ü§¹²¦
  45.               DoEvents
  46.               If Time >= T + #12:00:03 AM# Then            'µ¥«Ý3¬í
  47.                 DoEvents
  48.                 Application.SendKeys "~"                    'ªÑ²¼¥N¸¹¿ù»~,ºô­¶·|¦³°T®§,¶·«ö½T©w,¤~¥iÄ~Äò¤U­±ªÑ²¼¥N¸¹
  49.                 Exit Do
  50.               End If
  51.         Loop
  52.         Set S = .Document.getelementsbytagname("table")(11)
  53.         With ¤u§@ªí2
  54.             .UsedRange.Clear

  55.             For i = 0 To S.Rows.Length - 1      '¼g¤J¸ê®Æ
  56.                 k = k + 1
  57.                 For j = 0 To S.Rows(i).Length - 1
  58.                     For ii = 0 To S.Rows(i).Cells.Length - 1
  59.                     .Cells(k, ii + 1) = S.Rows(i).Cells(ii).innertext
  60.                     DoEvents
  61.                     Next
  62.                 Next
  63.             Next
  64.         End With
  65.     End With

  66.    End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

«D±`ÁÂÁÂ G¤j
µ{¦¡¤@¦¸¶]§¹¡A¦Ó¥B³£®»ªº¨ì¸ê®Æ¡A§Ú­n¤@¨Ç®É¤é¨Ó§l¦¬®ø¤Æ³o¨Çµ{¦¡^_^
¾Ç¥Í§Æ±æµ²¦X¦U°ò¥»­±ªº¸ê®Æ¡A§âµ{¦¡§@¦n¡A¦h¦h°Ñ¦Ò¯¸¤ºªºµ{¦¡¡A
µ{¦¡¯u¬O¤@ªùÃÀ³N^0^
ÁÂÁÂ

TOP

¦^´_ 7# GBKEE
½Ð°Ý G ¤j¤j
    .Range("E2").CurrentRegion = ""            '²M°£¤u§@ªí1,¦~«×½d³ò
¬O¤£¬O±q E2 ¶}©l²M°£ «ç E1 D2 ªº ²{ª÷ªÑ§Q        ªÑ²¼ªÑ§Q ¤]§R¤F
¦³ªº¸ê®Æ¦³®É®»¤£¨ì
½Ð°Ý¦p¦ó¤~¯à½T«O®»¨ì
ÁÂÁÂ G ¤j


Option Explicit
Dim ie As Object   '¼Ò²Õ³Ì³»ºÝ Dim ¨Ñ³o¼Ò²Õªºµ{§Ç¨Ï¥ÎªºÅܼÆ
Sub AllFile()
    Dim i As Integer, v, Y As Integer, S As String
      Set ie = CreateObject("internetexplorer.application")   '¨Ï¥Î¦¹¤è¦¡¥i¥H§K°£ "³]©w¤Þ¥Î¶µ¥Ø"
    With ie 'ÁY¤pIEµøµ¡
        .Visible = True
        .Width = 5
        .Height = 5
    End With
    With ¤u§@ªí1

'        .Range("E2").CurrentRegion = ""            '²M°£¤u§@ªí1,¦~«×½d³ò
        For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
            v = .Cells(i, 1).Value
            GetDividend (v)
            ¤u§@ªí2.Range("D4").CurrentRegion.Replace "--", "", xlWhole

            .Cells(i, 5).Resize(, 2).Value = ¤u§@ªí2.Cells(4, 4).Resize(, 2).Value
            
        Next
    End With
    With ie  'IEµøµ¡³Ì¤j¤Æ
        Application.WindowState = xlMaximized
        .Height = Application.Height
        .Width = Application.Width
        .Quit
    End With
End Sub
Private Sub GetDividend(ByVal ss As String)

    Dim rr As String, T As Date, i, ii, k, j, S
    On Error Resume Next
    T = Time
    rr = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=" & ss & "&name1=D4&index1=12"     ' ¥¿½Tªº
    With ie
        .Navigate rr
        Do While .ReadyState <> 4                          'µ¥«Ýºô­¶¤U¸ü§¹²¦
              DoEvents
              If Time >= T + #12:00:03 AM# Then            'µ¥«Ý3¬í
                DoEvents
                Application.SendKeys "~"                    'ªÑ²¼¥N¸¹¿ù»~,ºô­¶·|¦³°T®§,¶·«ö½T©w,¤~¥iÄ~Äò¤U­±ªÑ²¼¥N¸¹
                Exit Do
              End If
        Loop
        Set S = .Document.getelementsbytagname("table")(4) ' ·sªº table 4

        With ¤u§@ªí2
            .UsedRange.Clear

            For i = 0 To S.Rows.Length - 1      '¼g¤J¸ê®Æ
                k = k + 1
                For j = 0 To S.Rows(i).Length - 1
                    For ii = 0 To S.Rows(i).Cells.Length - 1
                    .Cells(k, ii + 1) = S.Rows(i).Cells(ii).innertext
                    DoEvents
                    Next
                Next
            Next
        End With
    End With

   End Sub

°t®§´ú¸Õ.rar (19.29 KB)

TOP

¦^´_ 9# wufonna
­n§ï¤@¤U
  1.   Dim AR
  2.     With ¤u§@ªí1
  3.         AR = .Range("E1:F1")
  4.         .Range("E:F") = ""
  5.         .Range("E1:F1") = AR
  6. '        .Range("E2").CurrentRegion = ""            '²M°£¤u§@ªí1,¦~«×½d³ò
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ·R¤£¬O­n¨D¹ï¤è¡A¦Ó¬O­n¥Ñ¦Û¨­ªº¥I¥X¡C
ªð¦^¦Cªí ¤W¤@¥DÃD