標題:
[發問]
開ie並定時更新此網頁
[打印本頁]
作者:
ggrip
時間:
2021-1-25 10:22
標題:
開ie並定時更新此網頁
大家好
小弟想要打開一個ie,並且每3秒更新這個網頁
但網頁更新1次以後
excel就跳出無法執行巨集timer ie
該巨集可能無法在此活頁簿使用,或已停用所以巨集
推測是timer裡面有引數的關係
但沒有引數,編譯器又會說沒有物件
用application.wait的話我更新網頁以後還要複製貼上EXCEL
這時EXCEL會停住,也不是我要的
請教大家有沒有什麼方法可以讓timer正常運作呢
程式碼如下
Sub 網頁更新()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.navigate "www.google.com.tw"
Do While .busy Or .readystate <> 4: DoEvents: Loop
End With
timer ie
End Sub
Public Sub timer(ie As Object)'沒有引用IE說沒有物件
With ie
.Refresh
Do While .busy Or .readystate <> 4: DoEvents: Loop
End With
alertTime = Now + TimeValue("00:00:10")
Application.OnTime alertTime, "timer ie"'引用以後這裡就不行了
End Sub
複製代碼
作者:
軒云熊
時間:
2021-1-27 22:11
本帖最後由 軒云熊 於 2021-1-27 22:23 編輯
回復
1#
ggrip
有空幫我試試看 感謝
Dim K As Boolean
Public Sub 更新網頁練習()
Set IE = CreateObject("internetexplorer.application")
IE.Visible = True
IE.Navigate "www.google.com.tw"
Do While IE.readyState <> 4 Or IE.Busy: DoEvents: Loop
Application.Wait Now + TimeValue("00:00:01")
Call 計時器
End Sub
Sub 開始計時()
Application.ScreenUpdating = False
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:03"), "計時器"
If K = 1 Then Call 關閉計時器
Set Sh = CreateObject("Shell.Application")
For n = Sh.Windows.Count To 1 Step -1
Set IE = Sh.Windows(n - 1)
If Right(UCase(IE.FullName), 12) = "IEXPLORE.EXE" Then
If IE.document.Url Like "*www.google.com.tw*" Then
IE.refresh
Exit For
End If
End If
Next n
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
Sub 計時器()
Application.ScreenUpdating = False
On Error Resume Next
If K <> 1 Then
Call 開始計時
Else
Application.OnTime Now + TimeValue("00:00:01"), "開始計時", schedule:=False
End If
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
Sub 關閉計時器()
Application.ScreenUpdating = False
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:01"), "計時器", schedule:=False
Set Sh = CreateObject("Shell.Application")
For n = Sh.Windows.Count To 1 Step -1
Set IE = Sh.Windows(n - 1)
If Right(UCase(IE.FullName), 12) = "IEXPLORE.EXE" Then
If IE.document.Url Like "*www.google.com.tw*" Then
IE.Quit
K = 1
Exit For
End If
End If
Next n
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
複製代碼
希望有前輩們可以幫我精簡一下 因為程式碼太長了.....想不出來如何精簡...因為小弟還在學習中希望能夠有更好的寫法 萬分感謝
作者:
ggrip
時間:
2021-1-28 14:00
謝謝熊大,程式碼可以運作
原來是SHELL的關係,學到了
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)