2009-02-17 8 views
2

Je voudrais définir le Body d'un AppointmentItem à une chaîne de RTF qui contient une image intégrée. Si vous définissez Microsoft.Office.Interop.Outlook.AppointmentItem.Body, le RTF s'affiche tel quel dans le rendez-vous.Outlook AppointmentItem - Comment ajouter par programmation RTF à son corps?

J'ai essayé d'utiliser Redemption qui enveloppe le rendez-vous et expose une propriété RTFBody, mais le formatage RTF (y compris l'image) est perdu.

Dans cet exemple (qui ne comporte pas d'image incorporée), le format RTF apparaît dans le document tel quel. Est-ce que quelqu'un a réussi à faire cela?

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(); 

Répondre

2

La seule façon que je connaisse est d'accéder à la propriété GetInspector du AppointmentItem, et l'utiliser pour récupérer le WordEditor sous-jacente utilisée pour analyser le format RTF, quelque chose comme:

var doc = appointment.GetInspector.WordEditor as Microsoft.Office.Interop.Word.Document; 

et puis formatez le document utilisant doc.Content selon Word Object Model.

Questions connexes