Excel 2007 – hablando con un service web

He estado usando el "Web Services Toolkit" de Excel 2003 durante un time para escribir hojas de cálculo que se conectan a web services externos a través de VBA.

(es decir, instala el kit de herramientas de web services que agrega un elemento de 'Referencias de web services …' al menu 'Herramientas'. Luego configura una reference a una URL de service web y el Toolkit escribe las classs proxy necesarias en VBA para hacer la connection para usted. Los methods del service web aparecen en VBA).

Excel 2007 no tiene este 'Web Services Toolkit', o al less no puedo encontrar nada similar. Observo que mis hojas de Excel 2003 funcionan bien en 2007, por lo que los ganchos necesarios están ahí en alguna parte.

Lo que me lleva a mi pregunta: ¿cuál es la forma aprobada de hablar con un service web externo en Excel 2007? No puedo encontrar nada útil en la web?

Gracias…

SAL

Tienes varias opciones:

1) Microsoft Office Soap Type Library v3.0 (como se mencionó anteriormente). Agradable y simple, funciona bien en VBA, completamente inútil porque no es compatible con WS-Security. Si está utilizando SOAP sin WS-Security, está perdiendo el time.

2) C # lib expuesta a Excel usando COM Interop. Es relativamente sencillo exponer el ensamblaje para su uso en VBA: permite el uso de WSE 3.0 / WCF en VBA. El ensamblado debe tener un nombre fuerte.

3) Plantillas de Visual Studio. Estas templates integran C # (o cualquier otro lenguaje CLR) dentro de la spreadsheet como un set. La mejor forma de integración, que permite el acceso completo a .NET Framework desde Excel (o Word, PowerPoint, etc.). Las templates solo están disponibles en Visual Studio Team Suite.

Si agrega security (incluso si solo es HTTPS), deberá asegurarse de saber que está pasando por alto MMC y su snap de certificate. Tendrá que agregar las CA necesarias a su almacén de certificates para asegurarse de que .NET no se enoje.