texto - outlook no respeta html
Outlook AppointmentItem-¿Cómo agrego RTF programáticamente a su cuerpo? (2)
La única forma que conozco es acceder a la propiedad GetInspector de AppointmentItem y usarla para buscar el WordEditor subyacente utilizado para analizar el formato RTF, algo así como:
var doc = appointment.GetInspector.WordEditor as Microsoft.Office.Interop.Word.Document;
y luego formatee el documento usando doc.Content según Word Object Model .
Me gustaría establecer el Body
de un elemento de AppointmentItem
en una cadena de RTF que contiene una imagen incrustada. Al establecer Microsoft.Office.Interop.Outlook.AppointmentItem.Body
el RTF aparece como está en la cita.
He intentado usar Redención, que ajusta la cita y expone una propiedad RTFBody
, pero el formato RTF (incluida la imagen) se pierde.
En este ejemplo (que no tiene una imagen incrustada), el RTF aparece en el documento tal como está. ¿Alguien ha logrado hacer esto?
var appointment = (AppointmentItem)app.CreateItem(OlItemType.olAppointmentItem);
appointment.Subject = "test subject";
appointment.Start = DateTime.Now;
appointment.End = DateTime.Now.AddHours(1);
appointment.Body = @"{/rtf1/ansi/deff0{/fonttbl{/f0 Arial;}}{/colortbl ;/red0/green0/blue255;}/pard/cf1/f0/fs24 Test}";
appointment.Save();
La mejor información que he visto sobre esto es según esta respuesta: http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/b41acf6f-71c1-4a8b-9662-fbff26ba3a24/
Básicamente, es un proceso de 2 pasos klunkly:
- Obtener referencia al objeto WordEditor
- Usando el portapapeles, copie y pegue el contenido formateado en el editor
Hablando en serio Microsoft, seguramente podrías haber ideado un mejor diseño.