Outlook 2007 - 如何将RTF文本插入到AppointmentItem中

时间:2012-04-20 13:45:18

标签: com outlook outlook-2007 outlook-2010

我在Outlook 2007工作,我需要在AppointmentItem中插入RTF文本。我发现了一些帖子,声称你可以用这样的方式做到这一点,但没有实际的代码显示如何做到这一点。到目前为止,我找到的最佳来源是Here

我跟着它,但最终没有任何东西插入预约物品。

以下是我所拥有的:

Word.Document wd = AppointmentItem.GetInspector.WordEditor as Word.Document;

// *Assume that I have all the RTF text that I want to copy set up and ready in the clipboard and is ready to be inserted(copied) into the Appointment Item.

//This doesnt seem to work
wd.Content.Select();
wd.Content.Paste();

//This also doesnt seem to work
(AppointmentItem.GetInspector.WordEditor as Word.Document).Content.Select();
(AppointmentItem.GetInspector.WordEditor as Word.Document).Content.Paste();

因此,根据我所阅读和看到的内容,您可以选择将RTF插入约会项目,但我仍然无法在AppointmentItem中获取任何内容。

现在我要说看看这个变量:

(AppointmentItem.GetInspector.WordEditor as Word.Document).Content.Text;

但如果我看AppointmentItem.Text它仍然没有变化。

现在没有AppointmentItem.paste()AppointmentItem.text.paste()的功能,并且您无法访问约会项目中的RTF变量。

所以有人能告诉我我错过了什么吗?如何粘贴到AppointmentItem或实际获取RTF文本到AppointmentItem

感谢。

2 个答案:

答案 0 :(得分:1)

问题是您没有指定复制和粘贴的选择。复制和粘贴完全像用户进行复制和粘贴一样,您可以先选择一个范围。

尝试

wd.Sections[1].Range.Copy();
document.Range(0, 0).PasteAndFormat(Word.WdRecoveryType.wdPasteDefault);

你可以找到与此类似的好文章是Tom_Xu MSFT在线程中写的“Load a .doc file content in Outlook.MailItem

答案 1 :(得分:0)

对于试图通过Office 2010,2013年解决此问题的任何人:

string sRtfBody = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Century Gothic;}}\viewkind4\uc1\pard\f0\fs20 This course will help you appreciate the beauty of numbers in some ways that you may have never considered.\par}";
Outlook.AppointmentItem aiMeeting = (Outlook.AppointmentItem)this._Outlook.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
aiMeeting.RTFBody = Encoding.ASCII.GetBytes(sRtfBody);