0

我正在使用 NetOffice Wrapper 并尝试访问 Outlook Mailitem 的 Word 编辑器。

以前我在使用

MailItem mItem = (MailItem)inspector.CurrentItem;
Microsoft.Office.Interop.Word.Document docx = mItem.GetInspector.WordEditor;
Microsoft.Office.Interop.Word.Selection selected = docx.Windows[1].Selection;

这是工作。现在我正在尝试使用 NetOffice

Word.Document docx = mItem.GetInspector.WordEditor;

这告诉我对象无法转换为 Word.Document。使用

Word.Document docx = mItem.GetInspector.WordEditor as Word.Document;

告诉 NetOffice.WordApi.Document 不能嵌入。

有谁知道,我如何使用 NetOffice 访问 WordEditor。谢谢您的帮助。

斯特凡

4

2 回答 2

0

万一有人像我一样再次遇到这个问题,他的问题的答案是在 Visual Studio 中选择 [NetOffice]WordApi 引用,并将“嵌入互操作类型”属性更改为 False。

图片

于 2019-07-29T18:02:16.270 回答
-1

斯特凡,

为什么需要使用 NetOffice 程序集。我建议使用清晰的代码并立即发布底层 COM 对象。使用System.Runtime.InteropServices.Marshal.ReleaseComObject在您使用完 Outlook 对象后释放它。如果您的加载项尝试枚举存储在 Microsoft Exchange Server 上的集合中的 256 个以上的 Outlook 项目,这一点尤其重要。

 mItem.GetInspector.WordEditor

注意,Inspector 类的GetInspector方法返回 Inspector 类的一个实例,该实例也应该被释放。不要在单行代码中使用多个点。或者底层的 COM 对象将不会被释放。

于 2015-11-01T17:40:40.170 回答