написал: ну так замените эту строку XMLHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)" на что-то типа этого: XMLHTTP.setRequestHeader "User-Agent", "Chrome/103.0.0.0 Safari/537.36"
Спасибо . Наверное я вопрос неправильно описал... Конечно же я с этого и начинал, испробовал множество разных вариантов и браузеров. Ничего не изменяется. В итоге остановился на этом пункте (мне так wireshark показал), чтобы не зависеть от куков Браузеров установленных на компьютере. Есть подозрение что он спрашивает название браузера не у заголовка, а где-то в другом месте. Вот этот параметр и нужно подменить.
Здравствуйте, Уважаемые форумчане. Прошу Вашей помощи в решении моей проблемы. После обновления одного из наших локальных серверов я потерял к нему доступ из VBA. Яндекс с гуглом никак мне помочь не хотят)). Проблема в следующем (насколько я понял!): При выполнении запроса GET, сервер проверят браузер пользователя и если он не списке, не проводит переадресацию в нужное место. Как его обмануть? Мой запрос:
Код
Dim XMLHTTP As New WinHttp.WinHttpRequest
XMLHTTP.Open "GET", "http://MySERVER";, False
XMLHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)"
'Доменная авторизация
XMLHTTP.SetAutoLogonPolicy (AutoLogonPolicy_Always)
XMLHTTP.SetClientCertificate ("CURRENT_USER\Personal")
'XMLHTTP.Option(WinHttpRequestOption_EnableRedirects) = False
XMLHTTP.send
Debug.Print XMLHTTP.responseText
PooHkrd, спасибо за подсказку, у меня office 2016, таких настроек не нашел. Да и я уже пересобрал весь файл, так как в прошлом, я видимо чего-то перемудрил. Давно хотел оптимизировать... Уменьшил код на 30%, отбросил пару лишних запросов. Файл летает - всего три минуты на обновление, против 20 в прошлом.
Даа, вы правы, перебрал запрос на два раза. Систему загружает не этот запрос, а предыдущий в файле. Причем он обновляется довольно быстро (пару минут), но оставляет после себя открытые непустые mashup. Первый раз с таким сталкиваюсь.... Как вообще такое может быть, запросы все выполнены, а контейнеры не пустые???
Андрей, у меня примерно так и реализовано. Но, так как сравниваемых столбцов несколько и данных много почему-то выполнение этого запроса приводит к перегрузке Mashup контейнеров. Причем если запускать запрос вручную, он через какое-то время оживает, а если через vba, то наглухо зависает вся система.
Михаил. Просто объединение со справочником ничего не даст, так как в исходнике 7 цифр, а в справочнике 5 или 6. Как я уже писал можно обрезать исходные данные до 6 цифр - перемножить, потом обрезать до 5 - перемножить. Это работает. Но при больших объемах данных, и большом количестве таких процедур, у меня возникает перегрузка. Причем на достаточно мощном компьютере, пока не понимаю почему. Подозреваю что мне нужно что-то типа Table.NestedJoin(Таблица1, Text.Start(Text.From("Номер"),6), Таблица2, {"Номер"}, "Таблица2", JoinKind.LeftOuter) т.е. вместо просто столбца "номер" исходника, только первые шесть цифр. Но как сделать так чтобы оно заработало, я не могу понять
Добрый вечер, уважаемые Гуру, у меня стоит задача объединить две таблицы по одной из колонок. Вроде все просто, применяем Table.NestedJoin и радуемся. в исходной таблице данные всегда одной ширины (7 цифр), а в справочнике 6 и 5 цифр. Можно, конечно обрезать столбец и объединить по отдельности, но получается очень тяжелый запрос. Как в Table.NestedJoin(Таблица1, {"Номер"}, Таблица2, {"Номер"}, "Таблица2", JoinKind.LeftOuter) вместо столбца указать его же, но обрезанным до 5 или 6 цифр Файл пример во вложении