Alt + D, D, W позволит вам сделать это без кода.
URL-адрес должен быть 100% правильно. в отличие от браузера нет кода для исправления URL-адресов.
Цель моей программы - получить сведения об ошибке.
Как получить правильный URL-адрес, введите свой URL-адрес в браузере, перейдите, и правильный URL-адрес часто находится в адресной строке. Другой способ - использовать свойства ссылки и т. Д., Чтобы получить URL-адрес.
Также Microsoft.XMLHTTP сопоставляется с Microsoft.XMLHTTP.1.0. HKEY_CLASSES_ROOT \ Msxml2.XMLHTTP сопоставляется с Msxml2.XMLHTTP.3.0. Попробуйте более поздний вариант
Попробуйте этот способ, используя xmlhttp. Отредактируйте URL-адрес и т. Д. Если кажется, что нужно прокомментировать if/end, если вы хотите сбрасывать информацию, даже если она работает. Это vbscript, но vbscript работает в vb6.
On Error Resume Next
Set File = WScript.CreateObject("Microsoft.XMLHTTP")
File.Open "GET", "http://www.microsoft.com/en-au/default.aspx", False
'This is IE 8 headers
File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"
File.Send
If err.number <> 0 then
line =""
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "Error getting file"
Line = Line & vbcrlf & "=================="
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "Error " & err.number & "(0x" & hex(err.number) & ") " & err.description
Line = Line & vbcrlf & "Source " & err.source
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "HTTP Error " & File.Status & " " & File.StatusText
Line = Line & vbcrlf & File.getAllResponseHeaders
wscript.echo Line
Err.clear
wscript.quit
End If
On Error Goto 0
Set BS = CreateObject("ADODB.Stream")
BS.type = 1
BS.open
BS.Write File.ResponseBody
BS.SaveToFile "c:\users\test.txt", 2
Также проверьте, работают ли эти другие объекты.
C:\Users>reg query hkcr /f xmlhttp
HKEY_CLASSES_ROOT\Microsoft.XMLHTTP
HKEY_CLASSES_ROOT\Microsoft.XMLHTTP.1.0
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.3.0
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.4.0
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.5.0
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.6.0
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.3.0
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.4.0
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.5.0
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.6.0
End of search: 12 match(es) found.
быть также известно, есть предел того, сколько раз вы можете вызвать любой конкретный объект XMLHTTP до возникновения блокировки. Если это произойдет, и это происходит при отладке кода, просто переключиться на другой объект XmlHttp
EDIT
Это то, что говорит помощь.
Что нового в MSXML 6.0 MSXML 6.0 поставляется с SQL Server 2005. Он также поставляется в виде веб-версии. Ниже приведен краткий обзор функций, которые были представлены в MSXML 6.0.
безопасности
ряд усовершенствований, которые были сделаны MSXML 6.0 для устранения угроз безопасности. Кроме того, по умолчанию отключены некоторые функции, которые небезопасны, например DTD и встроенные схемы. Дополнительные сведения см. В разделе Обзор безопасности MSXML.
схема XDR Поддержка Удалены
XML-данных уменьшенного (XDR) поддержка схемы была удалена. Дополнительные сведения см. В разделе «Удаление поддержки схемы XDR».
Улучшения в XSD Соответствие стандартам
MSXML 6.0 улучшила соответствие стандартам XSD схемы. Для получения дополнительной информации см. Усовершенствования в соответствии со стандартами XSD.
Улучшения в Schema Cache поведения
MSXML 6.0 изменилось поведение кэша XSD схемы. Новая версия менее неоднозначна, когда возникают столкновения имен. Дополнительные сведения см. В разделе «Улучшения поведения кэша схемы».
XML Цифровая подпись Удалены
MSXML 6.0 удалена поддержка для цифровой подписи XML. Для получения дополнительной информации см. XML Digital Signatures.
Edit 2
Порты определяются сдачи: в конце URL. например; http://www.microsoft.com:80
Редактировать 3
Использование Macro Recorder в Excel для записи данных запроса, который будет писать большую часть кода для вас. Но они гибкие и, вероятно, не нуждаются в программировании (для программистов не обязательно программировать). Посмотрите на диалог параметров при настройке запроса.
Почему бы не использовать функцию веб-запроса Excel напрямую? Не нужно использовать VBA таким образом. – Dai
Ухоженный, не знал об этом. У меня возникли проблемы с поиском ресурсов на нем, знаете ли вы, может ли он использоваться через VBA? – Alter