我在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
。
感谢。
答案 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);