Есть максрос, который экспортирует данные из интернет, примерно такой:
...
filepathname = адрес с которого скачиваем
Workbooks.Open Filename:=filepathname
...
Хочется как-то сделать так, чтобы при отсутствии подключения к интернет, он не ругался, а тихо сворачивал свою работу, ничего не скачивая. Подскажите, пожалуйста, как это сделать?
Заранее спасибо!
Обработка ошибок при выполнении Workbooks.Open
Модератор: Naeel Maqsudov
- Naeel Maqsudov
- Сообщения: 2551
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Самый простой способ проигнорироватиь ошибку это
on error resume next
На время выполнения опасного оператора(ов) включаем игнорирование ошибок, а потом выкобчаем
Можно сообщения об ошибке вывести "тихо" - с статусную строку. Тогда понадобится полноценный (насколько это возможно в VB/VBA) обработчик ошибок
Есть и другие варианты.
on error resume next
Код: Выделить всё
...
filepathname = адрес с которого скачиваем
on error resume next
Workbooks.Open Filename:=filepathname
on error resume 0
...
Можно сообщения об ошибке вывести "тихо" - с статусную строку. Тогда понадобится полноценный (насколько это возможно в VB/VBA) обработчик ошибок
Код: Выделить всё
...
on error goto not_available
filepathname = адрес с которого скачиваем
Workbooks.Open Filename:=filepathname
Application.StatusBar = False
on error goto 0
goto skip_handler
not_available:
Application.StatusBar = Err.Description
skip_handler:
...
Код: Выделить всё
Dim sURL As String
Dim objHttp As Object
Dim sHtmlCode As String
On Error Resume Next
Set objHttp = CreateObject("MSXML2.XMLHTTP.3.0")
f Err.Number <> 0 Then
Err.Clear
Set objHttp = CreateObject("MSXML2.XMLHTTP")
If Err.Number <> 0 Then
Set objHttp = CreateObject("MSXML.XMLHTTPRequest")
End If
End If
If objHttp Is Nothing Then
MsgBox "Невозможно создать объект для подключения к интернет!", 48, "Ошибка"
Exit Sub
End If
If objHttp Is Nothing Then Exit Sub
objHttp.Open "GET", sURL, False
On Error Resume Next
objHttp.Send
If Err.Number <> 0 Then
MsgBox "Отсутствует доступ в интернет!", 48, "Ошибка"
Exit Sub
End If
On Error GoTo 0
sHtmlCode = objHttp.responseText
Set objHttp = Nothing
С уважением...
P.S - код от Pavlel55
-
- Сообщения: 0
- Зарегистрирован: 12 окт 2015, 04:09
- Откуда: Guam
- Контактная информация:
Pa vart webbhotell kan ni kanna er trygg! Forutom att vi anvander oss av speglade harddiskar pa alla vara servrar sa tar vi aven backup tva ganger per dygn pa separata servrar. Vi anvander oss av ISPmanager som kontrollpanel. ISPmanager ar en kontrollpanel som gor det enkelt att administrera sin hemsida. Hos oss kan ni lagga hur manga hemsidor och domaner ni onskar under ett webbhotellskonto.
virtual hosting
virtual hosting