Nous voulons développer des addins pour Outlook, Word et Excel. A partir de maintenant, je suis au courant de 2 types de solutions. Un à aller pour le complément partagé (COM basé) et d'autres pour construire un complément basé sur VSTO. Comme je suis nouveau à ce sujet, quelle serait la meilleure option? (Ou s'il y a la 3ème voie, s'il vous plaît faites le moi savoir) Nous ciblons Office 2003 et 2007 à la fois. Et je préférerais développer ces addins en C#.Office (en particulier Outlook) addins
Répondre
Si vous allez développer en C#, je recommande fortement de coller avec VSTO. Cela a un cadre de développement d'ajout beaucoup plus simple, et fonctionne parfaitement avec C#.
Aller sur la route COM, en particulier avec C#, ne fait qu'ajouter une douleur supplémentaire inutile à ce stade.
VSTO est vraiment génial. Mais n'oubliez pas les outils électriques VSTO ;-) http://www.microsoft.com/downloads/details.aspx?FamilyId=46B6BF86-E35D-4870-B214-4D7B72B02BF9&displaylang=fr – Gregor
Pas directement une réponse à votre question, mais vaut la peine d'être considérée avant de commencer le développement du complément: Comme déjà dit par Reed, lors du développement d'un complément Office utilisant VB.Net facilitera la vie que C#.
Un appel dans le modèle d'objet Office ignore généralement plusieurs paramètres facultatifs. Cependant, en C# - parce que C# n'a pas (encore) de paramètres optionnels - vous devrez spécifier chacun des paramètres optionnels. Pas assez, pour les compléments COM, vous devrez également prendre soin de placer les arguments vous-même, c'est-à-dire au lieu de passer un simple bool ou int, vous devez d'abord le convertir en un type de référence. Tout cela rend le code complètement illisible.
E.g. le code pour ouvrir un document dans Word ressemblerait qu'en C#:
object objTrue = true;
object objFalse = false;
object missing = Type.Missing;
object objInputFile = strInputFile;
Document document = WordApplication.Documents.Open(ref objInputFile,
ref objFalse, ref objTrue, ref objFalse, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref objFalse, ref missing, ref missing, ref objTrue, ref missing);
alors que le même dans VB.Net serait beaucoup plus facile à lire et à écrire:
Document document = WordApplication.Documents.Open(strInputFile)
(Informations complémentaires: Avec C# 4.0 cela deviendra beaucoup plus simple en utilisant dynamic)
Wow, c'est vraiment énervant! Bon à savoir! :-) –
- 1. Outlook 2007 addins pour filtrer les pièces jointes en conséquence aux destinataires
- 2. Syntaxe Mise en surbrillance VS Addins
- 3. Développer addins sous .Net V2.0 et VS2008
- 4. Interop avec Office 2003 et 2007
- 5. css background Outlook 2007
- 6. Comment empêcher l'utilisateur non administrateur de désactiver Outlook 2007Addin?
- 7. relier deux documents Office
- 8. Commandes Winforms personnalisées (un bouton en particulier)
- 9. jQuery et OpenSocial (en particulier Orkut)
- 10. Office XP Shared Addin VS 2008
- 11. Comment lire les catégories Outlook 2007 en utilisant C#
- 12. Add-in Outlook question de développement
- 13. Où Outlook sauvegarde-t-il FileDialog?
- 14. Office 2007 et WPF
- 15. MS Office Ajouter
- 16. Office Open XML (OOXML) Spécification: Cryptage
- 17. outlook programming
- 18. Open Office CMS?
- 19. WPF Office 2007 Thème
- 20. Quels sont les bons addins d'utilisabilité pour Visual Studio 2008?
- 21. Quels addons/AddIns sont disponibles pour VS 2005 IDE
- 22. Can AddIns dans MAF (System.AddIn) ont des paramètres de constructeur?
- 23. création Réunion Addin pour Outlook avec C#
- 24. Envoi de demandes de réunion Outlook sans Outlook?
- 25. ms extensions de fichier office
- 26. PIA de Microsoft Office "rétrocompatibilité"
- 27. Office iFilter et documents incorporés
- 28. En plus du dossier Addins, où (et comment) les compléments VS sont-ils déployés?
- 29. Mon add-in Outlook VSTO 3.0 ne se charge pas
- 30. Obtenir Outlook Sur le drapeau de bureau avec .NET
Merci pour les réponses. On dirait qu'il ira pour Vb.Net et COM basé Addin comme je l'ai trouvé que VSTO a plus d'exigences d'installation et n'est pas non plus neutre de version. –