Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Número de KB original: 4020759
Síntoma
Supongamos que crea un nuevo objeto MailItem, AppointmentItem o MeetingItem mediante el modelo de objetos de Outlook. A continuación, establezca la propiedad HtmlBody del elemento en un origen HTML bien formado creado anteriormente que contenga estilos de hoja de estilos en cascada (CSS). Después de llamar al método Display y al método Send para enviar el elemento, el formato que dictan los estilos CSS configurados puede desaparecer o los estilos de párrafo pueden reemplazarse por la MSONormal
clase .
Causa
Microsoft Outlook usa Microsoft Word como editor. La pérdida de formato puede producirse cuando el motor HTML de Word valida el origen HTML cuando se envía el elemento.
Solución alternativa
Se recomienda usar el objeto WordEditor subyacente del inspector para editar los cuerpos HTML y formato de texto enriquecido (RTF) de los elementos de Outlook cuando se usa el modelo de objetos de Outlook, en lugar de editar la HtmlBody
propiedad . Vea el ejemplo siguiente.
Nota:
Consulte Word Modelo de objetos para obtener más información.
using Outlook = Microsoft.Office.Interop.Outlook;
using Word = Microsoft.Office.Interop.Word;
namespace CreateAndEditMailItemUsingWord
{
class Program
{
static void Main(string[] args)
{
Outlook.MailItem mailItem = (new Outlook.Application()).CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
Word.Document wordDocument = mailItem.GetInspector.WordEditor as Word.Document;
// Insert the text at the very beginning of the document
// You can control fonts and formatting using the ParagraphFormat propety of the Word.Range object
Word.Range wordRange = wordDocument.Range(0, 0);
wordRange.Text = "Please insert your text here";
mailItem.Display();
}
}
}