返回列表 上一主題 發帖

[發問] 請教 大大 這程式是那個地方出現問題,謝謝

回復 1# wufonna


    研究了一下,
本來想照我的方式重寫,
看了覺得有點麻煩...(不好意思)
所以直接改你的版本。

如果沒猜錯的話是你的私用程序沒有跟上網頁資料,
所以有不同步的地方才導致"沒有權限" ".Navigate視窗失敗"...等狀況
我把你每個程序都改成新開啟網頁(為了找盲點),
然後已經連續執行10次都沒有跳出錯誤訊息。
記得以前我也碰過類似問題(怎麼修正的也忘了),
大概修一修編寫邏輯就好了。
你在自己看一下。

另外我把你網頁最小化改成背景執行Web。
(確保程序沒錯在False,測試中請True,否則中斷程式後從工作管理員手動關閉背景殘留IE)

測試檔.rar (20.55 KB)

一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。

TOP

回復 3# wufonna


應該是一樣的問題...
  1. Set ie = CreateObject("internetexplorer.application")
複製代碼
每個Private程序都加入吧~

另外你的Alert訊息修改一下會更好,
我會用這個去控制訊息式窗:
  1. Set wshshell = CreateObject("wscript.shell")
  2. Do
  3.     ret = wshshell.AppActivate("網頁訊息")
  4. Loop Until ret = True
  5. Application.Wait Now + 2 / 86400
  6. ret = wshshell.AppActivate("網頁訊息")
  7.     If ret = True Then
  8.         ret = wshshell.AppActivate("網頁訊息")'"網頁訊息"這文字需要改成你警告視窗的Title
  9.         Application.Wait Now + 2 / 86400
  10.         wshshell.SendKeys "{enter}"
  11.     End If
  12. Application.Wait Now + 2 / 86400
  13. Do While .readystate <> 4 Or .busy: DoEvents: Loop
複製代碼
我記得這是麻辣家組某位先進提供的方式,
平常用不到,
但需要用上時真的很好用,
這段程式碼是先偵測警告訊息再把警告訊息置頂,
這樣在SendKeys "{enter}"能確保正確按下。
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。

TOP

回復 5# wufonna


    不是忽略錯誤哦!!
而是把Alert訊息選擇,
讓ENTER不會按錯地方。
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題