VBA Webservcie Call требует времени и Excel переходит к Не отвечает
У меня есть этот вызов веб-службы в Excel через VBA.
Req.Open "POST", MyURL, False
Req.setRequestHeader "Content-Type", "text/xml"
Req.send (sReq)
В этом Req.send (sReq) требуется время, чтобы ответить, когда длина sReq слишком велика. В течение этого времени excel перестает отвечать на запросы, а затем возвращается к жизни и переходит к следующей строке кода.
Можете ли вы предложить, как я могу остановить мой Excel, не отвечая на этот шаг?
1 ответ
К сожалению, это невозможно с помощью стандартного Excel/VBA.
Чтобы обеспечить поддержку Excel во время веб-запроса, необходимо, чтобы он выполнялся асинхронно (в отдельном потоке), но поскольку VBA работает в одном потоке, это невозможно.
Тем не менее, вы можете написать VSTO (Visual Studio Tools для Office) для Excel, используя VB.NET или C#.NET, это может добавить пользовательскую вкладку ленты, где вы можете поместить кнопку для асинхронного запуска вашего веб-запроса.