Nous avons été bloqués en essayant d'éditer le corps html des email pour des replys et des fowards. Nous avons un formulaire personnalisé que nous voulons ajouter l'en-tête au corps de l'email html en fonction de si c'est une nouvelle réponse par e-mail ou foward. Comment obtenez-vous le nouveau corps pour remplacer la réponse et le corps de courrier électronique transmis. Le sujet fonctionne très bien.Modification de MailItem.Body pour le complément Outlook VSTO?
namespace OutlookAddIn
{
public partial class ThisAddIn
{
private Outlook.Inspectors inspectors;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
inspectors = this.Application.Inspectors;
inspectors.NewInspector += new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
// Note: Outlook no longer raises this event. If you have code that
// must run when Outlook shuts down, see http://go.microsoft.com/fwlink/?LinkId=506785
}
void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
{
Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
if (mailItem != null)
{
if (mailItem.EntryID == null)
{
ClassificationForm formMain = new ClassificationForm();
formMain.ShowDialog();
mailItem.HTMLBody = formMain.GetHTMLBody();
mailItem.Subject = formMain.GetSubject();
}
}
}
#region VSTO generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
}
a également essayé cela, qui ne remplace l'e-mail html du corps, mais elle ouvre deux versions des e-mails et ForwardingMessage.Display (true); ne fonctionne pas complètement pour afficher uniquement la version modifiée de l'e-mail.
Outlook.MailItem ForwardingMessage = (Outlook.MailItem)this.Application.CreateItem(Outlook.OlItemType.olMailItem);
Outlook.MailItem SelectedMessage = (Outlook.MailItem)this.Application.ActiveExplorer().Selection[1];
if (SelectedMessage != null)
{
if (ForwardingMessage != null)
{
ClassificationForm formMain = new ClassificationForm();
formMain.ShowDialog();
SelectedMessage.HTMLBody = formMain.GetHTMLBody();
SelectedMessage.Subject = formMain.GetSubject();
}
}
Parfois, vous devez rouvrir l'élément Outlook si vous souhaitez que les modifications soient visibles. Aide-t-il? –