2009-06-22 11 views
3

J'utilise depuis un certain temps le 'Web Services Toolkit' d'Excel 2003 pour écrire des feuilles de calcul qui se connectent à des services Web externes via VBA. (C'est-à-dire que vous installez Web Services Toolkit qui ajoute un élément 'Web Service References ...' au menu 'Outils') Vous définissez ensuite une référence à une URL de service Web et le Toolkit écrit les classes proxy nécessaires Les méthodes du service Web s'affichent alors dans VBA.)Excel 2007 - Conversation avec un service Web

Excel 2007 ne possède pas cette 'boîte à outils de services Web', ou du moins je ne trouve rien de similaire. Je note que mes feuilles Excel 2003 fonctionnent bien en 2007, donc les crochets nécessaires sont là quelque part.

Ce qui m'amène à ma question - quelle est la manière approuvée de parler à un service Web externe dans Excel 2007? Je ne trouve rien d'utile sur le web?

Merci ...

SAL

Répondre

4

Vous avez plusieurs options:

1) Microsoft Office Type de savon Bibliothèque v3.0 (comme mentionné ci-dessus). Nice et simple, fonctionne bien dans VBA, complètement inutile, car il ne supporte pas WS-Security. Si vous utilisez SOAP sans WS-Security, vous perdez votre temps.

2) C# lib exposée à Excel en utilisant COM Interop. Il est relativement simple d'exposer l'assembly pour VBA - permet l'utilisation de WSE 3.0/WCF dans VBA. L'assemblage doit avoir une dénomination forte.

3) Modèles Visual Studio. Ces modèles intègrent C# (ou tout autre langage CLR) dans la feuille de calcul en tant qu'assemblage. Meilleure forme d'intégration, permettant un accès complet au framework .NET depuis Excel (ou Word, PowerPoint, etc.). Modèles uniquement disponibles dans Visual Studio Team Suite.

Si vous ajoutez de la sécurité (même si seulement HTTPS), vous devez vous assurer que vous savez que vous êtes en mesure de contourner MMC et son accrochage de certificat. Vous devrez ajouter les autorités de certification nécessaires à votre magasin de certificats pour vous assurer que .NET ne commence pas à se fâcher.

Questions connexes