qwasi писал(а):
Обсуждалось , например, здесь ( и не только )
viewtopic.php?t=112966 ... решение давно найдено.
там для PPPOE и через telnet - не подходит
я сделал так:
Перезагрузка модема:
Код:
Function RM()
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "http://192.168.1.1/rebootinfo.cgi"
objExplorer.Quit
End Function
Проверка наличия интернета:
Код:
Function WMIPing(strAdr As String) As Boolean
Dim objPing As Object
Dim objStatus As Object
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus where address = '" & strAdr & "'")
For Each objStatus In objPing
If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
WMIPing = False
Else
WMIPing = True
End If
Next
End Function
Сам макрос:
Код:
Sub Макрос1()
If WMIPing("onego.ru") = True Then Call Application.OnTime(Now + TimeValue("00:00:10"), "Макрос1")
If WMIPing("onego.ru") = False Then
Call RM
Call Application.OnTime(Now + TimeValue("00:01:20"), "Макрос1")
End If
End Sub
Кнопка:
Код:
Private Sub CommandButton1_Click()
Call Application.OnTime(Now + TimeValue("00:00:10"), "Макрос1")
End Sub