2

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

我跟着它,但最后没有任何东西被插入到约会项目中。

以下是我所拥有的:

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 变量。

那么谁能告诉我我错过了什么?如何将AppointmentItemRTF 文本粘贴到AppointmentItem.

谢谢。

4

2 回答 2

1

问题是您没有指定复制和粘贴的选择。复制和粘贴的工作方式与用户进行复制和粘贴完全一样,您必须先选择所需的范围。

尝试

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

您可以找到与此类似的一篇好文章是 Tom_Xu MSFT 在名为“在 Outlook.MailItem 中加载 .doc 文件内容”的线程中写到

于 2013-01-21T20:29:48.833 回答
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);
于 2016-06-09T15:03:12.753 回答