Как справиться с тайм-аутом?

#excel #vba #excel-web-query

#преуспеть #vba #excel-веб-запрос

Вопрос:

Я выполняю запрос мощности Excel в цикле. Запрос выполняется.

По причине, связанной с Интернетом (я не нахожусь в зоне, покрытой оптоволокном), запрос не загружает данные, возвращая ошибку тайм-аута.

введите описание изображения здесь

Учитывая, что возможно, что весь цикл цикла не завершен, я хотел бы остановить обновление до появления ошибки и возобновить работу с кодом, несмотря на то, что данные не были загружены.

Код прерывается там, где он показан на рисунке.

Как я могу заставить код продолжать работать до того, как появится тайм-аут?

введите описание изображения здесь

Допустим, я хотел бы, чтобы код продолжал выполняться, если через 90 секунд данные не могут быть загружены.

Ответ №1:

Почему бы вам не попробовать изменить период обновления?

Вы также можете попробовать просмотреть код, сгенерированный Power Query, сняв флажок «Включить фоновое обновление» в Data -> Connection -> Properties .

Вы также можете добавить тайм-аут по вашему выбору. Вы можете добавить этот бит после определения URL-адреса

 , [Timeout = #duration (X,Y,Z,N)]
 

Где X — Дни, Y — часы, Z — минуты, N — секунды

В противном случае, если вы действительно заинтересованы в уничтожении веб-запроса по истечении 100 секунд по умолчанию, то перед запуском кода вы можете поместить эту строку

 On Error Resume Next
 

Комментарии:

1. Большое спасибо! именно то, что я искал. Строки кода, которыми вы поделились, делают свое дело!