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

[µo°Ý] ¤@­Ó¥ÎVBA±qºô­¶¨ú±o·Q­n¸ê®Æªº¼gªk~

¥»©«³Ì«á¥Ñ bioleon69 ©ó 2017-4-30 22:24 ½s¿è

GBK¤j ½Ð±Ð¤@¤U
±q¤W­±ª¦¤å½m²ß,¥Ø«e¥i¥H±qEXCEL¥s¥XÂsÄý¾¹
¤§«á­n«ç»òŪ¨úºô­¶¤º®e,¤º®e¼g¤JEXCEL
A3¶}©l¼g¤J
³oÃä¯uªº¥d¦í¤F..
¥H¤U¬O¥Ø«eµ{¦¡½Xªº¶i«×
  1. Option Explicit
  2. Dim ie As Object
  3. Sub ¶°«O()
  4.     Dim keyin As String
  5.     keyin = Range("a1")
  6.     Set ie = CreateObject("InternetExplorer.Application")
  7.       With ie
  8.          .Navigate "http://norway.twsthr.info/StockHolders.aspx?stock=" & keyin & ""
  9.          .Visible = True
  10.          Do While ie.Busy Or ie.readyState <> 4: DoEvents: Loop
  11.      End With
  12. Ex_°Æµ{¦¡
  13. End Sub

  14. Private Sub Ex_°Æµ{¦¡()
  15.     Dim A As Object
  16.     With ie
  17.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  18.         Set A = .Document.getElementsByTagName("table")
  19.     End With
  20.     With ActiveSheet    '¥i«ü©w¤u§@ªí
  21.         .UsedRange.Clear






  22.     End With
  23.     ie.Quit
  24. End Sub
½Æ»s¥N½X
Àµ½ÐGBK¤jÀ°¦£«üÂI12...

TOP

¥»©«³Ì«á¥Ñ bioleon69 ©ó 2017-5-1 10:27 ½s¿è

¥Ø«e¦¨¥\¥i°õ¦æ¤F,¤]¦hÁ«ª©¤W³\¦h¸ê·½
¦³´X­Ó°ÝÃD·Q½Ð±Ð





½Ð°Ý¤@¤U
1.¬°¤°»ò§Ú°õ¦æ¥X¨Ó«á·|¦³ªÅ¥Õªº¦C?
¬O­þÃä¥X¤F¤°»òª¬ªp?



2.¥i¥H§â¼g¤Jexcelªº¸ê®Æ,©w¸q¦¨¤@­ÓªF¦è¶Ü
¥i¥H¥Îwith  end with¨Ó±±¨î¤º®e(¥u±±¨î¼g¤Jªº³¡¤À)
¤ñ¤è»¡¦rÅé¤j¤p,¼e«×°ª«×,¤W¦â,§R°£/²M°£,µ¥µ¥
¤£·|²o°Ê¨ì©P³òªº¸ê®Æ

3.¥Ø«eµ{¦¡½XÁÙ¥iÀu¤Æ¶Ü?
¦]¬°·Q­n¦A§Ë¤@­Ó°j°é°õ¦æ«áÅý¥¦¶]1500¦¸
³oµ{¦¡½X·|¤£·|«Ü¦Y¨t²Î¸ê·½?(©È¹q¸£lag)

·PÁÂ
¥H¤Uµ{¦¡½X
  1. Option Explicit
  2. Dim ie As Object
  3. Sub ´ú¸Õ()
  4.   Set ie = CreateObject("InternetExplorer.Application")
  5.     With ie
  6.         .Navigate "http://norway.twsthr.info/StockHolders.aspx?stock=2330"
  7.         .Visible = True
  8.         Do While ie.Busy Or ie.readyState <> 4: DoEvents: Loop
  9.     End With
  10.     UsedRange.Clear
  11.     Ex_°Æµ{¦¡
  12. End Sub

  13. Private Sub Ex_°Æµ{¦¡()
  14. Dim A, i, ii
  15.     With ie
  16.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  17.         Set A = .Document.getElementsByTagName("table")(9)
  18.     End With
  19.     With ActiveSheet    '¥i«ü©w¤u§@ªí
  20.    
  21.         For i = 0 To A.Rows.Length - 296
  22.             For ii = 3 To A.Rows(i).Cells.Length - 1
  23.            .Cells(i + 1, ii - 2) = A.Rows(i).Cells(ii).innertext
  24.             Next
  25.             Next
  26.     With Cells
  27.             .EntireRow.AutoFit
  28.             .EntireColumn.AutoFit
  29.     End With
  30.     End With
  31.     ie.Quit
  32. End Sub
½Æ»s¥N½X
¥t¥~ªþ¤WÀÉ®×
test.rar (16.05 KB)

TOP

¥»©«³Ì«á¥Ñ bioleon69 ©ó 2017-5-1 21:40 ½s¿è

¦^´_ 31# GBKEE


¤F¸Ñ
¹ï³o¨â­Óª«¥óÁÙ«Ü­¯¥Í
CreateObject("msxml2.xmlhttp")
CreateObject("htmlfile")
¥Ø«e¤]´X¥G³£¬O§Û¼gG¤j¯d¤Uªºµ{¦¡½X­×§ï¾Ç²ß
»°ºò¨Ó¾Ç²ß¬Ý¬Ý

THX G¤j!

TOP

¥»©«³Ì«á¥Ñ bioleon69 ©ó 2017-5-3 06:35 ½s¿è

¨â­ÓºÃ°Ý
#¶Ã½X
#¥þ³¡ªí®æªº«ü©w¤èªk


http://mops.twse.com.tw/nas/t21/sii/t21sc03_106_3_0.html
¦pªG¬O³o­Óºô­¶
·|Åܳo¼Ë



¦pªG¬O­n§ì³oºô­¶ªº¥þ³¡ªí®æ¤º®e
«D³æ¤@«ü©wªí®æ

À³¸Ó«ç»ò­×§ï?
With oHtmldoc
        Set E = .all.tags("TABLE")(9)
End With

ÃöÁäÀ³¸Ó¬O³o¤@¦æ?«á­±¥´(0)·|¥X²{¿ù»~

¨D«ü¾É!·PÁÂ

TOP

¥»©«³Ì«á¥Ñ bioleon69 ©ó 2017-5-8 06:05 ½s¿è

¦^´_ 35# GBKEE


º}«G,¥Ø«e¦b¾ÇµÛ¥ÎXML°Õ
¨º­ÓÂà½Xªºº}«G,ÁöµM¤£¬O«ÜÀ´¼gªk
¤p§Ì¥u¯à¥ý§Û¤U¨Ó¦º­I®M¥Î
½×¾Â²×©ó¦n¤FXDD

·PÁÂGBK¤j!

TOP

¦^´_ 35# GBKEE

¤È¦w G¤j

§Aªº³o­ÓÂà½X¨t²Î

¦pªG¬O¦bQTªº¸Ü,¸Ó«ç»ò©I¥s?
ÁÂÁ±z^^¨¯­W¤F

¨Ò¦p(¥H¤U)
  1. Sub ¤U¸üCSV()
  2. Set book1 = ActiveSheet
  3. Set bookshow = book1.QueryTables _
  4.     .Add(Connection:="TEXT;https://smart.tdcc.com.tw/opendata/getOD.ashx?id=2-8", _
  5.         Destination:=book1.Range("a1"))
  6. With bookshow

  7.     .TextFileParseType = xlDelimited
  8.   .TextFileCommaDelimiter = True
  9.     .Refresh
  10. End With

  11. End Sub
½Æ»s¥N½X
VBA ±q0¶}©l
¥ý±q¾Ç·|¬ÝªºÀ´¶}©l
¥ý±q·|¦³°ò¥»­×§ï¯à¤O¶}©l
¤@¨B¤@¨B¾Ç²ß¤¤

TOP

¥»©«³Ì«á¥Ñ bioleon69 ©ó 2017-5-13 15:16 ½s¿è

¦^´_ 37# bioleon69


GGGG¤j..ÁÙ¦³¤@­Ó°ÝÃD..
(©çÁÂ,ÅýG¤j³Ìªñ«Ü¦£ «¢«¢!)

§Ú¤@­Ó¤@­Ó´ú¸Õ,À³¸Ó¬O²Ä12­Óªí®æ¨S¦³¿ù
¬°¤°»ò·|¤U¸ü¤£¤F©O??©_©Ç
  1. Sub TEST()
  2.     With ActiveSheet.QueryTables.Add(Connection:="URL;http://mops.twse.com.tw/mops/web/t56sb21_q3?encodeURIComponent=1&run=Y&step=1&TYPEK=sii&year=105&smonth=01&emonth=02&sstep=1&firstin=true", Destination:=Range("A1"))
  3.         .Name = "¤W¥««ùªÑÂàÅý"
  4.         .WebFormatting = xlWebFormattingNone
  5.         .WebTables = "12"
  6.         .RefreshStyle = xlOverwriteCells
  7.         .WebPreFormattedTextToColumns = True
  8.         .WebConsecutiveDelimitersAsOne = True
  9.         .WebDisableDateRecognition = False
  10.         .Refresh BackgroundQuery:=False
  11.     End With
  12. End Sub
½Æ»s¥N½X
VBA ±q0¶}©l
¥ý±q¾Ç·|¬ÝªºÀ´¶}©l
¥ý±q·|¦³°ò¥»­×§ï¯à¤O¶}©l
¤@¨B¤@¨B¾Ç²ß¤¤

TOP

¦^´_ 39# GBKEE


­n¥Îieªº¤èªk¶Ü??
·Ð½Ð¤j¤jÀ°¦£¬Ý¤@¤Uµ{¦¡½X­þÃ䦳°ÝÃD,§Ú¼gªº¨º¨â¦æ³£¤£¯à«ö¤U¥h
  1. Sub test()
  2. Dim ie, ab, cc
  3.     Set ie = CreateObject("InternetExplorer.Application")
  4.     With ie
  5.          .Visible = True
  6.         .navigate "http://mops.twse.com.tw/mops/web/t56sb21_q3"
  7.         Do Until .ReadyState = 4
  8.             DoEvents
  9.         Loop
  10.         Set cc = .document
  11.         Set ab = .document.forms("form1")
  12.         ab.typek.Value = "otc"
  13.         ab.Year.Value = "105"
  14.         ab.smonth.Value = "03"
  15.         ab.emonth.Value = "04"
  16.         'cc.getelementbyid("search_bar1").Click
  17.        ' ab.submit
  18.         End With
  19. End Sub
½Æ»s¥N½X
VBA ±q0¶}©l
¥ý±q¾Ç·|¬ÝªºÀ´¶}©l
¥ý±q·|¦³°ò¥»­×§ï¯à¤O¶}©l
¤@¨B¤@¨B¾Ç²ß¤¤

TOP

¥»©«³Ì«á¥Ñ bioleon69 ©ó 2017-5-15 17:16 ½s¿è

¦^´_ 41# GBKEE
G¤j,²Ä¤@¬qµ{¦¡ªºFOR EACH¨ºÃä½T¹ê¥i¥H¼ÒÀÀÂIÀ»
¤p§Ì¥ý¦¬¤U¤F!!
---------------------
²Ä¤@¬q(test)ªºÀ³¸Ó¬O±z¦^À³§Ú¦p¦ó¼ÒÀÀÂIÀ»§a
¥H³o­Ó¨Ò¤l¦Ó¨¥,¦ü¥G¨S¿ìªk±q¥D·j´Mºô§}
http://mops.twse.com.tw/mops/web/t56sb21_q3
¼ÒÀÀÂIÀ»«á,ª½±µ¦b§ì¤U­±ªºtable¸ê®Æ
¦Ó¥²¶·±q
http://mops.twse.com.tw/mops/web/t56sb21_q3?encodeURIComponent=1&run=Y&step=1&TYPEK=sii&year=105&smonth=01&emonth=02&sstep=1&firstin=true
¥h§ì¸ê®Æ
¤§«áªº²Ä¤G¬q(ex)¸ò²Ä¤T¬q(¸ê®Æ¼g¤J)¤~¬O¤@­Óºô§ì¹ï§a?(¤p§Ì²z¸Ñ)

---------------------

Private Sub ¸ê®Æ¼g¤J(ByVal xTable As Object)
³o­Óbyval¤£¬O«ÜÀ´,¬°¦ó¤£ª½±µdim¨ìsub¸Ì­±?

¥H¤U¬O¤p§Ì¦Û¤v³Ì¤j²z¸Ñ¯à¤Oªº¼gªk,¤]¬O¨S¿ìªk¦¨¥\¼g¤J
ÁÙ½ÐG¤jÀ°¦£«ü¥¿¤@¤U¿ù»~,ÁÂÁ±z^^"
  1. Sub test()
  2. '*****************************************
  3. Dim Ie
  4.     Set Ie = CreateObject("InternetExplorer.Application")
  5.     With Ie
  6.        'Visible = True
  7.         .Navigate "http://mops.twse.com.tw/mops/web/t56sb21_q3?encodeURIComponent=1&run=Y&step=1&TYPEK=sii&year=105&smonth=01&emonth=02&sstep=1&firstin=true"
  8.         Do Until .readyState = 4
  9.             DoEvents
  10.         Loop
  11. '*****************************************
  12.         Set cc = .Document.body
  13.         Set tb = cc.all.tags("table")(0).Rows '©w¸qªí®æ¬°°}¦C
  14.         'Debug.Print tb.innertext              '°£¿ù¥Î
  15. '*****************************************
  16.          With ActiveSheet
  17.         .UsedRange.Clear
  18.         For i = 0 To tb.Length - 1
  19.         For j = 0 To tb(i).Cells.Length - 1
  20.         .Cells(i + 1, j + 1) = tb(i).Cells(j).innertext '³v¤@¼g¤J
  21.         Next
  22.         Next
  23.         End With
  24.     End With
  25.     Ie.Quit
  26.     Set Ie = Nothing
  27. End Sub
½Æ»s¥N½X
VBA ±q0¶}©l
¥ý±q¾Ç·|¬ÝªºÀ´¶}©l
¥ý±q·|¦³°ò¥»­×§ï¯à¤O¶}©l
¤@¨B¤@¨B¾Ç²ß¤¤

TOP

¦^´_ 43# GBKEE

ok¤F!ÁÂÁÂg¤j ·R±z~^^


byval¥Ø«e´N¥ý¤£¦Ò¼{¤F= =||
VBA ±q0¶}©l
¥ý±q¾Ç·|¬ÝªºÀ´¶}©l
¥ý±q·|¦³°ò¥»­×§ï¯à¤O¶}©l
¤@¨B¤@¨B¾Ç²ß¤¤

TOP

        ÀR«ä¦Û¦b : ¦h°µ¦h±o¡C¤Ö°µ¦h¥¢¡C
ªð¦^¦Cªí ¤W¤@¥DÃD