Вызов веб-службы с использованием кода VBA в Excel 2010

Я пытаюсь написать некоторый код VBA в Excel 2010, который потреблял бы веб-службу. Я не могу найти соответствующие ресурсы в интернете. Кто-нибудь, пожалуйста, скажите мне, как это сделать.

5 ответов


Я не думаю, что сообщение, отмеченное как правильный ответ, - это ссылки на решение Excel 2003, которое было основано на инструментарии веб-служб MS Office. Это решение больше не является допустимым, так как инструментарий больше не поддерживается. См.: MSDN-потребляющие веб-службы в Excel 2007. Ссылка предоставляет решение для Excel 2007, которое можно перенести в Excel 2010. Однако вам понадобится Visual Studio 2010 с инструментами разработчиков Microsoft Office. Это также означает использование .Net Фреймворк и кодирование на C# или VB.NET - ...


Я боролся с тем же вопросом в моем недавнем проекте, где я хотел поговорить с Trello и Salesforce в чистом VBA без установки каких-либо плагинов, открытия Visual Studio или других хаков. В итоге я написал свою собственную библиотеку (основанную на одном из моих любимых, RestSharp).

предупреждение, бесстыдная вилка:https://github.com/VBA-tools/VBA-Web

некоторые интересные функции включают поддержку Mac (!), аутентификация (Http Basic, OAuth1, OAuth2 и другие), асинхронная поддержка и синтаксический анализ JSON (благодаря VBA-JSON)

Он работает потрясающе в Excel 2010 и 2013 (и, скорее всего, 2007), и у меня есть работа с Salesforce, Trello, Basecamp, Google Maps, и он должен работать практически с любым веб-сервисом.


FWIW на момент публикации я обнаружил, что старый инструментарий веб-ссылок Excel 2003 по-прежнему производит рабочий код VBA в Excel 2007/10 (обратите внимание, что за последние 18 месяцев были некоторые шаткие моменты с различными обновлениями Windows, которые остановили этот код, поэтому я бы не считал свое решение "надежным").

мой ужасный Хак включает в себя установку Excel 2003, затем инструментарий веб-ссылок, а затем установку Excel 2007 или Excel 2010. Я создал 3 шт через этот хак и все они производят рабочий код VBA для использования веб-сервисов asmx (я не пытался подключиться к другим типам веб-сервисов, но я не вижу, почему они не будут работать).

официальный метод MS, используя VSTO, является слишком далеко для некоторых наших клиентов, и этот взлом VBA держал их счастливыми.


несколько лет спустя...Я нашел на этой странице что является лучшим и самым ясным объяснением и примером, которые я нашел до сих пор, включая интересная ссылка, предоставляющая услуги для игры с.


моникер службы Windows Communication Foundation (WCF) для интеграции веб-служб в среды разработки на основе COM, такие как Microsoft Office Visual Basic для приложений (Office VBA) или Visual Basic 6.0. Подробнее см. ссылку https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients