Я использую эту функцию VBA для извлечения данных с веб-сайта. Функция работает отлично для меня. Но я не уверен, что это сработает для клиента, у которого могут быть ограничения доступа к интернету, наложенные их компанией. Как я могу быть уверен, что он будет работать на каждом компьютере? Должен ли я добавить прокси? Как мне это сделать?Является ли эта функция VBA работать на любом компьютере?
'func1 and func2 are strings used to compose the URL
Function cmd(func1 As String, func2 As String)
Dim objHTTP
Dim aux
Dim url As String
'Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
url = "https://www.comdinheiro.com.br/Clientes/ServerToExcel/S2E_TESTANDO001.php?func1=" & func1 & "&func2=" & func2
objHTTP.Open "GET", url, False
objHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
'objHTTP.SetProxy 2, "proxyserver:8080", ""
objHTTP.SetProxy HTTPREQUEST_PROXYSETTING_PROXY, "ProxyServerName"
objHTTP.Send ("")
aux = objHTTP.responseText
cmd = Trim(aux)
End Function
К сожалению, вам, вероятно, придется протестировать его в разных условиях. – Degustaf
Вы просто пытаетесь убедиться, что код работает без диалогового окна с ошибкой, даже если нет подключения к Интернету? Попробуйте использовать ловушку ошибок с помощью 'On Error Resume Next' или' On Error Goto Label', чтобы уловить ошибку и отобразить «Нет подключения к Интернету» Msgbox – Michael
Существует _no_ способ гарантировать, что определенный код будет работать одинаково на всех системах , Другие препятствия могут быть версиями офисов и версиями os. Вам просто придется протестировать его и, возможно, настроить обнаружение ошибок, чтобы учитывать такие проблемы, как недоступность веб-сайта. – Matt