返回列表 上一主題 發帖

VBA可以測試網路有連線嗎?

VBA可以測試網路有連線嗎?

DEAR 各大大
以下是我的程式碼
網路連線時可以正常使用~
但是網路沒接時~會出現錯誤~
請問可以在前面做偵測網路有無連線的方式嗎?
  1. Sub 下載()    '網頁下載

  2.         Const url As String = "https://www.1keydata.com/tw/sql/sql.html"     ' 正確的

  3.         Cells.Clear

  4.         Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"

  5.         With ie
  6.             .Visible = False 'True為開啟ie, False為不開啟ie
  7.             .navigate url
  8.             Do While .readyState <> 4 '等待網頁開啟
  9.             DoEvents
  10.             Loop
  11.             .ExecWB 17, 2 'Select All
  12.             .ExecWB 12, 2 'Copy selection
  13.             Range("A1").Activate
  14.             ActiveSheet.PasteSpecial Format:="HTML", link:=False, DisplayAsIcon:= _
  15.                 False, NoHTMLFormatting:=True
  16.         End With

  17.         ie.Quit
  18.         MsgBox "資料複製結束"    ' 離開前顯示一小視窗提醒,按它後即結束。
  19. End Sub
複製代碼

回復 3# c_c_lai

目前可以正常連線沒錯~
我是想只說如果今天網路異常時~
怎麼判定網頁如果開不起來就跳過程式呢?

TOP

回復 6# GBKEE

感謝版主大大幫忙~~
稍微修改了一下~斷線時可以跳過程序~不再當機了~
  1. Sub 下載()    '網頁下載
  2.        ' Dim ie As Object
  3.         Const url As String = "https://www.1keydata.com/tw/sql/sql.html"     ' 正確的
  4.         Cells.Clear

  5.        ' Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"
  6.         With CreateObject("internetexplorer.application")
  7.            .Visible = False 'True為開啟ie, False為不開啟ie
  8.            '.Visible = 1
  9.             .navigate url
  10.             Do While .Busy Or .readyState <> 4 '等待網頁開啟
  11.             DoEvents
  12.             Loop
  13.             If .Document.Title = "您尚未連線到網路" Then
  14.                 '如網路沒有連線時, IE的表頭="Internet Explorer 無法顯示網頁"                '
  15.                 .Quit
  16.                 MsgBox "您尚未連接到網路,請檢查網路狀態後再試一次"    ' 離開前顯示一小視窗提醒,按它後即結束。
  17.                 GoTo Re
  18.             End If
  19.             .ExecWB 17, 2 'Select All
  20.             .ExecWB 12, 2 'Copy selection
  21.             Range("A1").Activate
  22.             ActiveSheet.PasteSpecial Format:="HTML", link:=False, DisplayAsIcon:= _
  23.                 False, NoHTMLFormatting:=True
  24.             .Quit
  25.         MsgBox "資料複製結束"    ' 離開前顯示一小視窗提醒,按它後即結束。
  26.         End With
  27. Re:
  28. End Sub
複製代碼

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題