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

[µo°Ý] ¶°«O¤áªÑÅv¤À´²ªí¬d¸ß §ì¨C¶g¸ê®Æ

Hi GBKEE ¤j¤j
ÁÙ¬O¤£¦æ­C¡A©³¤U¬OVBA½X
1. ¶]¨ì Stop·|°±¤U¨Ó
2. ¦pªG§âStop®³±¼¡AIf element.Length < 7 Then ³o¤@¬q¤]¥ý®³±¼¡Aµ{¦¡ÁÙ¬O¶]¨ì For i = 0 To element(s).Rows.Length - 1 '¸ê®Æªº¦C¦ì¡A³o¤@¥y³ø¿ù¡A°õ¦æ¶¥¬q¿ù»~ '91': ¨S¦³³]©wª«¥óÅܼƩΠWith°Ï¶ôÅܼÆ

============================================
Sub ¶°«O§ì¨ú()

Dim A, element As Object, i As Integer, k As Integer, J As Integer, jj As Integer, s As Integer

With CreateObject("InternetExplorer.Application")
.Visible = True
.Navigate "http://www.tdcc.com.tw/smWeb/QryStock.jsp"
Do While .Busy Or .readyState <> 4: DoEvents: Loop

With .document
'-----¿é¤J­n¬d¸ßªºªÑ²¼¥N½X
   For Each A In .getelementsbytagname("INPUT") '§ä­ì©l½X¦³input°Ñ¼Æ
   If A.Name = "StockNo" Then A.Value = Range("B1").Value '§ä­ì©l½X¦³input°Ñ¼Æ¡A«á­±ªºname =StockNo
   Next
   
   .ALL("SCA_DATE").SELECTEDINDEX = 2
   .ALL("sub").Click
End With
   
Do While .Busy Or .readyState <> 4: DoEvents

Application.SendKeys "~", True '«ö ENTER «öÁä ,¹w¨¾ "ÃÒ¨é¥N¸¹"¦³¿ù»~

Loop

Do
Set element = .document.getelementsbytagname("table")
Loop Until Not element Is Nothing
MsgBox element.Length
'Stop

'If element.Length < 7 Then
'MsgBox "ÃÒ¨é¥N¸¹  ??": Exit Sub
'End If

With Sheets(1)

k = k + 1
  For s = 5 To 7 '¤w§ä¥Xºô­¶ªºtable¤º®e¦b 5-7 ¤¤
    For i = 0 To element(s).Rows.Length - 1 '¸ê®Æªº¦C¦ì
      For jj = 0 To element(s).Rows(i).Cells.Length - 1   '¸ê®ÆªºÄæ¦ì
         .Cells(k, jj + 1) = element(s).Rows(i).Cells(jj).INNERTEXT
      Next
      k = k + 1
    Next
  Next
End With

End With

End Sub

TOP

¦^´_ 6# espionage
­×§ï¤@¤U¬Ý¬Ý
  1. Do While .Busy Or .ReadyState <> 4          'µ¥­Ôºô­¶¤U¸ü§¹²¦
  2.             DoEvents
  3.             Application.SendKeys "~", True          '«ö ENTER «öÁä ,¹w¨¾ "ÃÒ¨é¥N¸¹"¦³¿ù»~
  4.         Loop
  5.         Do
  6.             Set element = .Document.getelementsbytagname("table")  '¨ú±oºô­¶¸ê®Æ°Ï¶ô
  7.         Loop Until Not element Is Nothing
  8.         MsgBox element.Length
  9.         Stop
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

GBKEE ¤j¤j
·Q½Ð±Ð¤@¤U
1. §Ú¥ý°õ¦æ±zªºVBA»yªk¡A¦ý¶]¨ìFor i = 0 To element(s).Rows.Length - 1 '¸ê®Æªº¦C¦ì¡AÅã¥Ü³ø¿ù¡A°õ¦æ¶¥¬q¿ù»~ '91': ¨S¦³³]©wª«¥óÅܼƩΠWith°Ï¶ôÅܼơA½Ð°Ý§Ú¾Þ§@¤W¬O§_¦³¿òº|¤°»ò?
2. ¦pªG§Ú¥[¤J¤@¥y¡AMsgBox element.Length¡Aµøµ¡·|¼u¥X 5¡AµM«á§Ú¥ý§â°j°é¨ú®ø¡A¥u³æ¯Â¥[¤F³o¥y¡A¦p¤UVBA¡ACells(2, 6) = element(5).Rows(1).Cells(1).innertext¡A¦ýÁÙ¬O³ø¿ù¤@¼Ëªº°T®§¡A°õ¦æ¶¥¬q¿ù»~ '91': ¨S¦³³]©wª«¥óÅܼƩΠWith°Ï¶ôÅܼơA¥i¥H½Ð±Ð³o¤@¥yªº»yªk§Ú¬O¤£¬O¿ù¤F­þ­Ó¦a¤è?
·PÁÂ
=================================
Do While .Busy Or .ReadyState <> 4 'µ¥­Ôºô­¶¤U¸ü§¹²¦
DoEvents
Application.SendKeys "~", True '«ö ENTER «öÁä ,¹w¨¾ "ÃÒ¨é¥N¸¹"¦³¿ù»~
Loop
Set element = .Document.getelementsbytagname("table") '¨ú±oºô­¶¸ê®Æ°Ï¶ô
MsgBox element.Length

'If element.Length < 7 Then
'MsgBox "ÃÒ¨é¥N¸¹?": Exit Sub
'End If
With Sheets(1)
.Cells.Clear
.Cells(2, 6) = element(5).Rows(1).Cells(1).innertext
=================================

TOP

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

TOP

ÁÂÁ GBKEE ¤j¤j À°¦£
.ALL("SCA_DATE").SELECTEDINDEX = 2      '²Ä3­Ó¤é´Á
1.  ­ì¨Ó³o­ÓSELECTEDINDEX »yªk¥i¥H§ïÅÜ ¤é´Á ¿ï¶µ¡A¦]¬°ºô­¶­ì©lÀɪº»yªk§Ú§ä¤£¨ì option .value¡A¯u¬O¨ü±Ð¤F¡A¦ý¦pªG§Ú·Q­n±q20150529¶]¨ì³Ìªñ20150904¡A¬O¤£¬O­n³]©w°j°é i=0 to 14¨Ó§ïÅÜSELECTEDINDEX ©O?
2.  ©Ó¤W¡A¦]¬°¬Ý¹Lºô­¶¿ï³æ¡Aª¾¹D²Ä¤@­Ó¿ï¶µ¬O20150904¡A²Ä¤G­Ó¿ï¶µ¬O20150828¡A¥H¦¹Ãþ±À...°£¤F¤H¤u¶ñ¨ìExcel ¤§¥~¡A°²¨Ï§Ú­Ì­n§â¿ï³æ¤ºªº¤å¦r¤]¤@¨Ö§ì¥X¨Ó¨ìExcel¡A¤ñ¤èSELECTEDINDEX = 2 ¬°20150821¡A¥i§_¥[¨ì»yªk¤º?
3. F or s = 5 To 7   '¤w§ä¥Xºô­¶ªºtable¤º®e¦b 5-7 ¤¤¡A·Q½Ð±ÐGBKEE «ç»ò¬Ý¥X¨Óªº? ¦]¬°§Ú¬Ý¤£À´³o¤@¥y¡A°õ¦æVBA¡AExcel·|¸õ¥XMsgBox "ÃÒ¨é¥N¸¹  ??"´Nµ²§ô¤F
4. °²¨Ï§Ú§â³o¤@¬q If element.Length < 7 Then MsgBox "ÃÒ¨é¥N¸¹  ??": Exit Sub ¡A¥ý²¾°£¡A«hVBA¶]¨ì ³o¤@¥yFor i = 0 To element(s).Rows.Length - 1  '¸ê®Æªº¦C¦ì¡A·|³ø¿ù¡A"¨S¦³³]©wª«¥óÅܼƩÎwith°Ï¶ôÅÜ¼Æ "


==================================================
                 ¸ê®Æ¤é´Á  
                 <select size="1" name="SCA_DATE">
                       <option >20150904</option><option >20150828</option><option >20150821</option><option >20150814</option><option >20150807</option><option >20150731</option><option >20150724</option><option >20150717</option><option >20150709</option><option >20150703</option><option >20150626</option><option >20150618</option><option >20150612</option><option >20150605</option><option >20150529</option><option >20150522</option><option >20150515</option><option >20150508</option><option >20150430</option><option >20150401</option><option >20150302</option><option >20150202</option><option >20150105</option><option >20141201</option><option >20141103</option><option >20141001</option><option >20140901</option>               </select>
==================================================

TOP

¦^´_ 2# espionage

¸Õ¸Õ¬Ý
  1. Sub Ex() '¶°«O¤áªÑÅv¤À´²ªí¬d¸ß
  2.     Dim element As Object, i As Integer, k As Integer, J As Integer, jj As Integer, s As Integer
  3.     With CreateObject("InternetExplorer.Application")
  4.         .Visible = True
  5.         .Navigate "http://www.tdcc.com.tw/smWeb/QryStock.jsp"
  6.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  7.         With .Document
  8.             '.ALL("SqlMethod")(0).Checked = True    '¤Ä¿ï:ÃÒ¨é¥N¸¹
  9.            ' .All("StockNo").Value = "1101"
  10.             .ALL("SqlMethod")(1).Checked = True     '¤Ä¿ï:ÃÒ¨é¦WºÙ
  11.             .ALL("StockName").Value = "Áp¹q"
  12.             '.ALL("SCA_DATE").SELECTEDINDEX = 0     '²Ä1­Ó¤é´Á
  13.             .ALL("SCA_DATE").SELECTEDINDEX = 2      '²Ä3­Ó¤é´Á
  14.             .ALL("sub").Click                       '«ö¤U¬d¸ßÁä
  15.         End With
  16.         Do While .Busy Or .ReadyState <> 4          'µ¥­Ôºô­¶¤U¸ü§¹²¦
  17.             DoEvents
  18.             Application.SendKeys "~", True          '«ö ENTER «öÁä ,¹w¨¾ "ÃÒ¨é¥N¸¹"¦³¿ù»~
  19.          Loop
  20.         Set element = .Document.getelementsbytagname("table")  '¨ú±oºô­¶¸ê®Æ°Ï¶ô
  21.         If element.Length < 7 Then
  22.             MsgBox "ÃÒ¨é¥N¸¹  ??": Exit Sub
  23.         End If
  24.         With Sheets(1)
  25.             .Cells.Clear
  26.             k = k + 1
  27.             For s = 5 To 7                   '¤w§ä¥Xºô­¶ªºtable¤º®e¦b 5-7 ¤¤
  28.                 For i = 0 To element(s).Rows.Length - 1                 '¸ê®Æªº¦C¦ì
  29.                     For jj = 0 To element(s).Rows(i).Cells.Length - 1   '¸ê®ÆªºÄæ¦ì
  30.                         .Cells(k, jj + 1) = element(s).Rows(i).Cells(jj).INNERTEXT
  31.                     Next
  32.                     k = k + 1
  33.                 Next
  34.             Next
  35.         End With
  36.       '  .Quit  'Ãö³¬IE
  37.     End With
  38. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦U¦ì°ª¤â
§Ú¸É¥R¤@¤U°ÝÃD¡A¸ô®|¬O¤U­±³o­Ó¹Ï¤ù­¶­±¡A¥u¦³2­ÓÄæ¦ì¿é¤J¸ê®Æ¡AµM«áÂIÀ»¬d¸ß«ö¶s¡A·|¶]¥X¤@­Ótable¡A§â¸ê®Æ½Æ»s¨ìExcel
1. ¸ê®Æ¤é´Á (¬õ®Øªº¦a¤è) ¥Ø«e¥d¦í¡A¤£ª¾¹D¸Ó¦p¦ó¥ÎVBA¾Þ§@
2. ÃÒ¨é¥N¸¹
¤£ª¾¬O§_¦³°ª¤â¥i¥H¨ó§U«ü±Ð¡AÁÂÁÂ

TOP

        ÀR«ä¦Û¦b : ¦³´¼¼z¤~¯à¤À¿ëµ½´c¨¸¥¿¡F¦³Á¾µê¤~¯à«Ø¥ß¬üº¡¤H¥Í¡C
ªð¦^¦Cªí ¤W¤@¥DÃD