如何从文件中读取 rtf 并将其插入到 Outlook 项目的正文中
本文关键字:Outlook 插入 项目 正文 文件 读取 rtf | 更新日期: 2023-09-27 17:55:19
我正在尝试编写一个Outlook加载项,其功能与Microsoft Outlook的插入签名功能非常相似。 我发现的最好和最详细的线程在这里讨论与此类似的东西。
我的代码的问题是内存流,尽管是一个可以从word打开的rtf文件,但返回一个null。
doc = ms as Microsoft.Office.Interop.Word.Document ;
我正在尝试让它工作
if (selObject is Outlook.AppointmentItem)
{
Outlook.AppointmentItem obj = (Outlook.AppointmentItem)selObject;
Microsoft.Office.Interop.Word.Document doc = obj.GetInspector.WordEditor as Microsoft.Office.Interop.Word.Document;
if (doc != null)
{
String path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"Outlook", "Intercall.rtf");
if (File.Exists(path))
{
MemoryStream ms = new MemoryStream();
Stream fs = new FileStream(path,FileMode.Open);
fs.CopyTo(ms);
doc = ms as Microsoft.Office.Interop.Word.Document ;
fs.Close();
}
}
}
您是否期望从 MemoryStream 转换为 Microsoft.Office.Interop.Word.Document 会成功?MemoryStream对Word或任何其他COM对象一无所知。您需要显式创建 Word.Application 对象的实例,使用它来加载 RTF。您还可以在 Outlook 对象模型中使用 Inspector.WordEditor 来获取 Word.Document 对象的实例。