Вопрос

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

Это было полезно?

Решение

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

Другие советы

Я боролся с тем же вопросом в моем недавнем проекте, где я хотел поговорить с Trello и Salesforce в Pure 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, затем Toolkit Web Serirets, затем установка 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top