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

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

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

¦U¦ì°ª¤â§A­Ì¦n ¤p§Ì¦bª¦§¹«Ü¦h­¶­±
¤]google ¬Ý¤F´X­Ó°ª¤âªº»yªk¡A·Q­n¹Á¸Õ¥Î VBA ¥h ¶°«O¤áªÑÅv¤À´²ªí¬d¸ß ¡A¿é¤J¤@­Ó¥N¸¹¡A§ì¨C¶gªºªÑ²¼ªÑÅv¤À´²ªí¸ê®Ætable¡A§ì¨ìExcel¥h¤ÀªR
ºô§}¡Ghttp://www.tdcc.com.tw/smWeb/QryStock.jsp

¦ý¥u·|¼g¨ì«ç»ò§âªÑ²¼¥N¸¹¿é¤J¡A¦ý¬O¤é´Áªº¿ï³æ¹ê¦b¤£ª¾­n«ç»ò¾Þ§@¡Aºô­¶ "¸ê®Æ¤é´Á" select §ä¤£¨ì  .value¡A´N°±¦b³oÃä·Q¦n´X¤Ñ¡AÁÙ¬O¤£ª¾«ç»ò¼g¤U¥h¤F
Áٽаª¤â«ü±Ð»yªk
·P®¦

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

Dim A
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°Ñ¼Æ
   Next
   
End With

End With
End Sub
==========================================

¦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

ÁÂÁ 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

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

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

GBKEE ¤j¤j
1. ±z©Ò´£ªºWEB¬d¸ß¡A¥i¥H°õ¦æ
2. ¦Ü©ó­ì¥»»yªkªº­×§ïÁÙ¬O¤£¦æ­C¡A§Ú¦³°Ñ¦Ò¥t¥~¤@«Ê»yªk¡A¤]¬O±z¦^ÂЪº¡Ahttp://forum.twbts.com/viewthread.php?tid=9511¡A¨âªÌ¥Øªº«Ü¹³¡A¤@¼Ë¬O¿é¤J¥N¸¹»P¤é´Á¡A¶]¸ê®Æ¡Aµo²{³o­ÓVBA¬O¦³®Ä¡A¥i¥H¶]¥Xµ²ªG¡A©Ò¥H®¼¯Ç´eªº
3.  §Ú¦³µo²{¤@­Ó°ÝÃD¡A­ì¥»§Ú¸ß°Ýªººô­¶¡Ahttp://www.tdcc.com.tw/smWeb/QryStock.jsp¡A·í¿é¤J§¹ªÑ²¼¥N¸¹¡A¶]¥Xµ²ªG¤§«á¡Aºô­¶¤WªºªÑ²¼¥N¸¹´N·|®ø¥¢¤£¨£¤F¡A¦Óºô­¶­ì©lÀɪº¦æ¼Æ¥Ñ167¦æ¼W¥[¬°393¦æ¡A¦p¤U¹Ï¬õ®Ø¡A
4.  ¦Ó¥t¥~¤@½gºô­¶ http://mops.twse.com.tw/mops/web/t164sb04¡A·í¿é¤J§¹ªÑ²¼¥N¸¹¡A¶]¥Xµ²ªG¤§«á¡Aºô­¶¤WªºªÑ²¼¥N¸¹¤£·|®ø¥¢¡Aºô­¶­ì©lÀɪº¦æ¼Æ¥Ñ704¦æºû«ù¬°704¦æ¡A¦p¤U¹Ï¬õ®Ø¡A
5. ¤£ª¾¹D³o¦³¨S¦³Ãö«Y¡A¬G½Ð±Ð¤@¤U¡A§Ú¦b§äªB¤Í¦³IE8ªº¸Õ¸Õ¬Ý­ì¥»ªºcode
·PÁÂ

TOP

Hi GBKEE ¤j¤j
§Ú§ä¤F¤@¥x¦³IE8ªº¹q¸£¡A±zªº­ì©lµ{¦¡¥i¥H°õ¦æ¡A­ì¨ÓIEª©¥»·|¦³³o¼Ëªº¼vÅT
ÁÂÁ«ü±Ð

TOP

        ÀR«ä¦Û¦b : ¯à·F¤£·F¡A¤£¦p­W·F¹ê·F¡C
ªð¦^¦Cªí ¤W¤@¥DÃD