Страницы: 1
RSS
Как проверить есть ли интернет?
 
Доброго времени суток, уважаемые!  
 
Не могу решить один вопрос: как программно проверить есть ли интернет?  
 
...в процессе работы макроса создается отчет, печатается, сохраняется в архиве и попутно он должен упасть в почту нескольким страждущим персонам.  
когда с интернетом всё в порядке - все отрабатывает на ура.  
когда интернета нет  - макрос вываливается с ошибкой.  
 
хочу перед отсылкой как-то проверять наличие связи с внешним миром, и если ее нет,  
то выдавать сообщение что связи нет - и не пытаться ничего отослать, а просто завершать работу макроса.  
 
Вот как можно проверить есть интернет или нету?  
 
...была мысля на хостинге положить какой-нить файлик и программно к нему долбиться - если доступен, то есть инет.. но как это реализовать?
 
> когда интернета нет - макрос вываливается с ошибкой  
 
Так сделайте обработку ошибки. On Error Goto...  
Или On Error Resume Next и работать с объектом Err.
 
{quote}{login=Казанский}{date=11.07.2011 05:40}{thema=}{post}> когда интернета нет - макрос вываливается с ошибкой  
 
Так сделайте обработку ошибки. On Error Goto...  
Или On Error Resume Next и работать с объектом Err.{/post}{/quote}  
 
Хм.... как вариант. Спасибо за мыслю. Неподумал..  
 
Но все-таки хотелось понять, есть ли способы проверить?
 
Дим,  а у меня при подключенном - 81, при отключенном 18.
Я сам - дурнее всякого примера! ...
 
А я так проверяю:  
 
 
Function InternetConnectionAvailable() As Boolean  
   ' возвращает TRUE, если доступно соединение с Интернетом (пингуются несколько хостов)  
   InternetConnectionAvailable = False  
   If PingB("93.158.134.11") Then InternetConnectionAvailable = True: Exit Function    ' yandex.ru  
   If PingB("213.180.204.8") Then InternetConnectionAvailable = True: Exit Function    ' www.ya.ru  
   If PingB("194.67.57.26") Then InternetConnectionAvailable = True: Exit Function    ' www.mail.ru  
   If PingB("81.19.70.1") Then InternetConnectionAvailable = True: Exit Function    ' www.rambler.ru  
End Function  
 
 
Но это требует дополнительных функций пинга.  
 
ИМХО, самый простой способ - выполнить запрос к любой веб-службе Google (запросить какой-нибудь там XML)  
Крайне маловероятно, что этот способ даст сбой.  
 
 
PS: Excel может не получить доступ в инет по множеству причин:  
http://excelvba.ru/articles/DeliveryWithMacro
 
Здесь справка по функции:  
http://sources.ru/vb/network/internetgetconnectedstate.shtml
Я сам - дурнее всякого примера! ...
 
У меня подключен по WiFi - 82
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
По LAN  
'16 - отключен  
'18 - подключен  
Как Дмитрий и писал.
 
У меня к роутеру по LAN: подключено - 18.
 
У меня к роутеру по LAN через свич, комп как шлюз для другого: подключено - 81.
Я сам - дурнее всякого примера! ...
 
Сейчас проверил на работе: кастрированное файерволлами и проксями подключение по LAN - 86
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
Страницы: 1
Читают тему
Наверх