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

¸ß°Ý .WebBrowser1ªº´X­Ó°ÝÃD

³t«×¤Ó§Ö¡AWebBrowser¨S¤ÏÀ³¹L¨Ó¡C
WebBrowser¬O²§¨Bªº¥[¸üªº¡A³Ì¦n¬O¦b¨C¤@­Ó©R¥O¤§¦Zµ¥«ÝWebBrowser§¹¥þ¥[¸ü§¹¦¨¦AÄ~Äò¤U¤@­Ó©R¥O¡C
¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

¦^´_ 3# mark15jill
§Aªº¥N½X¤¤¦³¤@¥y¡G
  1.                          Do
  2.                             DoEvents
  3.                         Loop
½Æ»s¥N½X
²Ä¤@¦¸°õ¦æ¦Zµ{¦¡±N¶i¤J¥Ã¤[¦º´`Àô¡A«Øij¥h±¼¡C
¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

¥»©«³Ì«á¥Ñ Joforn ©ó 2020-11-27 11:47 ½s¿è

¦^´_ 5# mark15jill
«Ü¤[³£¤£¥ÎWebBrowser±±¥ó¤F¡C¥u¯à¸ò§A¤j­P»¡¤U³B²z¬yµ{¡C
¦bµo°e©R¥O¦Z¡A¤@¯ë¥Î
  1. IsBusy=True   '³o­Ó¬O¥þ§½Åܶq¡A¥ÑWebBrowserªº¥[¸ü§¹¦¨¨Æ¥ó¥h±N¨ä­È§ïÅÜ¡C
  2. Times=0
  3. Do While IsBusy And (Times<100)       'ÀË´úTimes¬O§_¤p¤_100¡A¤j¤_100§PÂ_¬°µ{§Ç¥X°ÝÃD¤F¡A¥[¸ü®É¶¡¹Lªø¡A±j¦æ¤¤¤îµ{¦¡¹B¦æ¡C100¦¸´`Àô»P¦Z­±ªºSleep 200²Õ¦X¡Aªí¥Ü³Ìªøµ¥«Ý20¬í(Sleep°Ñ¼Æ¥H²@¬í¬°³æ¦ì)¡C
  4.      Sleep 200             '³o­Ó¬OAPI¨ç¼Æ¡A¨Ï¥Î«e­n¥ýÁn©ú¡C¥[¤J³o±ø»y¥y¬O¬°¤FÄÀ©ñCPU±±¨îÅv¡A¨S¦³³o±ø¡AVBAªºCPU¨Ï¥Î²v¤@ª½¥e99%
  5.      DoEvents             'ÄÀ©ñµ{§Ç±±¨îÅv¡A¨¾¤îWebBrower¥X°ÝÃD¦ZµLªk°h¥X¡A¤]¬O¬°¤FÅýWebBrower¦³¬ÛÀ³ªºCPU¹B¦æÅv¥hÄ~Äò¥[¸ü­¶­±¡C
  6.      Times=Times + 1
  7. Loop
½Æ»s¥N½X
µM¦ZÁÙ­n¦A¤Þ¥ÎWebBrower±±¥óªºDocumentComplete
  1. Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  2.    IsBusy = False
  3. End Sub
½Æ»s¥N½X
¤W­±¨â²Õ¥N½X¬Ûµ²¦X¡A¨º¤\´N¥i¥H§¹¦¨¤@­Óµ¥«Ý­¶­±¥[¸ü§¹¦¨¦Z¡Aµ{¦¡¤~Ä~Äò°õ¦æ¦ZÄò¥N½X¹Lµ{¡C

¦ý¬O¡A­nª`·N¡G¦bWebBrower¥[¸ü­¶­±¶}©l¦Z¡A¦}¤£¤@©w¥u¿E¬¡¤@¦¸DocumentComplete¡A©Ò¥HÁÙ­n¦bWebBrowser1ªºDocumentComplete¨Æ¥ó³B²z¹Lµ{¤¤¶i¦æ¤@©wªº§PÂ_¨Ó¬O§_¬O¯u¥¿ªº³Ì¦Z¤@¦¸­¶­±¥[¸ü§¹¦¨¨Æ¥ó¡C¥i¥H¹ï¤ñURL¬O§_¬O·í«e­¶­±ªºURL¨Ó§PÂ_¡G
  1. Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  2.     If IsBusy Then IsBusy = URL<>DocumentURL 'ª`·N¡A³o¨½ªºDocumentURL»Ý­n§A¦Û¤v®Ú¾Ú§A·í«eªº­¶­±¥hÀò¨ú©Î¬O³]¸m¡C
  3. End Sub
½Æ»s¥N½X
³Ì¦Z¬O§A¥i¯à»Ý­n¥Î¨ìªº¨ç¼Æ©MÅܶqÁn©ú¡G
  1. #If VBA7 Then
  2.     Private Declare PtrSafe Sub Sleep Lib "Kernel32.dll" (ByVal dwMilliseconds As Long)
  3. #Else
  4.     Private Declare Sub Sleep Lib "Kernel32.dll" (ByVal dwMilliseconds As Long)
  5. #End If
  6. Private IsBusy As Boolean
½Æ»s¥N½X
¥@¬É¨º»ò¤j¡A¥i§Ú·Q¥h­þ¡H

TOP

        ÀR«ä¦Û¦b : ¤£­nÀH¤ß©Ò±ý¡A­nÀH¤ß±Ð¨|¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD