Je réécris l'application C++ Outlook Addin en représentation complète .NET à l'aide de VSTO (Outlook 2007/2010).Outlook Addin ne restaure pas les formulaires HTML en utilisant VSTO mais en utilisant l'API C++
L'une des fonctionnalités à réécrire est le rendu de formulaires html. L'utilisateur peut sélectionner une case à cocher, fournir une entrée, sélectionner une option, etc. en mode composition de courrier (avant l'envoi). Mais lorsque je place un balisage d'entrée dans la propriété HTMLBody, il n'est pas rendu comme prévu. Au lieu de cela, seulement quelque chose comme http://postimage.org/image/jk9swfr2t/ est rendu. J'ai passé beaucoup de temps à chercher une solution, mais cela s'est finalement avéré impossible à cause du moteur de rendu HTML basé sur Word. Notre référentiel de code addin C++ est extrêmement large et est ancien - je ne suis pas un développeur C++ et je ne connais pas grand-chose aux API correspondantes de COM et C++ outlook, la cible est de réécrire selon les fonctionnalités existantes, il y a simplement pas de temps et pas de ressources pour analyser le code existant.
Mais le plus intéressant pour moi est que la version C++ du logiciel rende tout: entrées, case à cocher, option de sélection, juste tout! J'ai donc deviné que c'était possible et j'ai commencé à chercher une solution de contournement ou n'importe quel type de piratage.
J'ai analysé l'ancien addin C++ en utilisant l'outil OutlookSpy et il s'est avéré qu'il ne remplit pas HTMLBody. J'ai dû parcourir un code hérité partiel et trouvé qu'il a défini la propriété MAPI PR_HTML. Malheureusement j'ai trouvé aussi que cette propriété n'est pas disponible dans vsto donc je ne peux pas vérifier si cela aide.
Mes questions sont les suivantes:
- connaissez-vous des hacks pour rendre les formulaires HTML dans Outlook en utilisant VSTO?
- Y a-t-il des différences à l'aide de la propriété item.HTMLBody ou PR_HTML MAPI qui peut avoir un impact sur mon problème?
- Si oui, puis-je définir PR_HTML en utilisant C#? (Je l'ai vérifié sans http://www.add-in-express.com/creating-addins-blog/2008/11/21/outlook-object-model-propertyaccessor-storageitem/ mais cela ne fonctionne pas pour moi - code n'exécute pas quand j'ajoute AddExpress.MAPI.dll)
Tout doit être fait afin d'insérer l'aide de programme interface utilisateur Outlook ou l'exportation vers Outlook de IE ne compte pas. De même, nous ne pouvons pas utiliser des outils tiers commerciaux tels que Redemption ou Add-in Express.
Dmitry, malgré le fait que l'image est petite est correcte :) Je sais que Word ne rendra pas le HTML et les scripts. Mais C++ et les API pertinentes en quelque sorte contourner cela et cela fonctionne dans Outlook 2007 et 2010. OutlookSpy montre que HtmlBody n'est pas défini, donc je soupçonne qu'il est piraté d'une autre manière. Le code C++ met html en utilisant la propriété PR_HTML donc je demande si cela peut être la différence et dans un tel cas, si et si je peux y parvenir en utilisant C#. –