我正在使用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。谢谢你的帮助。
的Stefan
答案 0 :(得分:0)
如果有人像我一样再次遇到这种情况,他的问题的答案是在Visual Studio中选择[NetOffice] WordApi引用,然后将“嵌入互操作类型”属性更改为False。
答案 1 :(得分:-1)
的Stefan,
为什么需要使用NetOffice程序集。我建议使用清晰的代码并立即释放底层的COM对象。完成使用后,使用System.Runtime.InteropServices.Marshal.ReleaseComObject释放Outlook对象。如果您的加载项尝试枚举存储在Microsoft Exchange Server上的集合中的256个以上的Outlook项目,这一点尤为重要。
mItem.GetInspector.WordEditor
注意,Inspector类的GetInspector
方法返回一个Inspector类的实例,该实例也应该被释放。不要在单行代码中使用多个点。或者底层的COM对象将不会发布。