Гэты выклік VBA выглядае так, нібы выбірае проксі, захаваны ў proxyServer:

http.setProxy 1, proxyServer, bypassList

Для MSXML ServerXMLHTTP першы аргумент выбірае рэжым проксі. Дакументаваныя значэнні: 0 для канфігурацыі па змаўчанні, 1 для прамога злучэння і 2 для проксі, пададзенага яўна. Перадача адраса пасля 1 не ператварае прамы рэжым у рэжым ручнога проксі.

Мінімальны прыклад ручнога проксі:

Dim http As Object
Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.setProxy 2, "proxy.example:8080", "<local>"
http.Open "GET", "https://example.com/", False
http.send

Канчатковы пункт у прыкладзе — заглушка. Для праверкі публічнага проксі заменіце яго HTTP-адрасам са спісу HTTP-проксі. Трэці аргумент — спіс абыходу; тут <local> выкарыстоўвае дакументаваны вынятак для лакальнага імені. Гэта не другі проксі, які трэба паспрабаваць, калі першы не спрацуе. Таму змяшчэнне там IP і порта іншага проксі выражае няправільны тып налады.

Выкарыстоўвайце іменаваныя канстанты там, дзе вашыя спасылкі VBA іх паказваюць, або вызначце адпаведную канстанту лакальна пры познім звязванні, каб рэжым быў бачны падчас прагляду.

Таксама трымайце ў полі зроку тып аб'екта. ServerXMLHTTP, арыентаваны на браўзер XMLHTTP і WinHttpRequest — гэта розныя інтэрфейсы COM. Працоўны прыклад для аднаго не даказвае крыніцу канфігурацыі іншага. Калі правільны аб'ект выбраў рэжым ручнога проксі, даследуйце любую пакінутую памылку злучэння, аўтэнтыфікацыі або TLS на гэтым шляху.

Падобныя артыкулы