Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Numero KB originale: 4020759
Sintomo
Si supponga di creare un nuovo oggetto MailItem, AppointmentItem o MeetingItem usando il modello a oggetti di Outlook. Impostare quindi la proprietà HtmlBody dell'elemento su un'origine HTML ben creata in precedenza che contiene stili CSS (Cascading Style Sheet). Dopo aver chiamato il metodo Display e il metodo Send per inviare l'elemento, la formattazione dettata dagli stili CSS configurati potrebbe scomparire o gli stili di paragrafo potrebbero essere sostituiti dalla MSONormal
classe .
Causa
Microsoft Outlook usa Microsoft Word come editor. La perdita di formattazione può verificarsi quando l'origine HTML viene convalidata dal motore HTML Word quando l'elemento viene inviato.
Soluzione alternativa
È consigliabile utilizzare l'oggetto WordEditor sottostante del controllo per modificare i corpi HTML e RTF (Rich Text Format) degli elementi di Outlook quando si usa il modello a oggetti di Outlook, anziché modificare la HtmlBody
proprietà . Vedere l'esempio seguente.
Nota
Per altre informazioni, vedere Word Modello a oggetti.
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();
}
}
}