Excel 2007 - общение с веб-сервисом - PullRequest
3 голосов
/ 22 июня 2009

В течение некоторого времени я использовал «Инструментарий веб-служб» для Excel 2003 для написания электронных таблиц, которые подключаются к внешним веб-службам через VBA.

(то есть вы устанавливаете Web Services Toolkit, который добавляет пункт «Ссылки на Web Service ...» в меню «Инструменты». Затем вы устанавливаете ссылку на URL-адрес веб-службы, и Toolkit записывает необходимые прокси-классы в VBA сделает соединение за вас. Методы веб-службы появятся в VBA.)

В Excel 2007 нет этого «набора веб-служб» - или, по крайней мере, я не могу найти ничего подобного. Я отмечаю, что мои листы Excel 2003 отлично работают в 2007 году, поэтому где-то там есть необходимые хуки.

Что подводит меня к моему вопросу - каков одобренный способ общения с внешними веб-службами в Excel 2007? Я не могу найти ничего полезного в Интернете?

Спасибо ...

SAL

1 Ответ

4 голосов
/ 22 июня 2009

У вас есть несколько вариантов:

1) Библиотека типов мыла Microsoft Office v3.0 (как упомянуто выше). Хороший и простой, хорошо работает в VBA, совершенно бесполезен, потому что он не поддерживает WS-Security. Если вы используете SOAP без WS-Security, вы теряете время.

2) C # lib предоставляется в Excel с помощью COM Interop. Относительно просто представить сборку для использования в VBA - разрешает использование WSE 3.0 / WCF в VBA. Сборка должна иметь сильное наименование.

3) Шаблоны Visual Studio. Эти шаблоны интегрируют C # (или любой другой язык CLR) в электронную таблицу как сборку. Лучшая форма интеграции, позволяющая получить полный доступ к .NET Framework из Excel (или Word, PowerPoint и т. Д.). Хотя шаблоны доступны только в Visual Studio Team Suite.

Если вы добавите безопасность (даже если только HTTPS), вам нужно убедиться, что вы знаете, как обходиться с MMC и его оснасткой «Сертификат». Вам нужно будет добавить необходимые CA в хранилище сертификатов, чтобы .NET не начал расстраиваться.

...