我的自定义Outlook加载项导致Excel保存对话框隐藏自己
我已经创build了一个Outlook加载项,它将一个button添加到一个新的电子邮件窗口的function区,但是这会导致一个问题。
这是发生了什么事情:
- 用户有Outlook打开。
- 用户打开Excel。
- 用户通过文件 – >保存并发送 – >作为附件发送Excel文件给别人
- 用户对文档进行更改
- 用户尝试closures文档
- 这是当Outlook提示用户保存该文件,但对话框隐藏在Excel窗口后面,用户无法进入它,而不做一些恶意。
我的Outlook加载项还有许多其他的function,但是我已经把它固定到我创build的Ribbon.cs文件中,以便将button添加到新的电子邮件窗口。 当我从Micorosft.Outlook.Mail.Compose更改OfficeRibbon对象的RibbonType属性为空,保存对话框显示为它应该。 当我将其更改回“撰写”时,它会再次隐藏对话框。
有谁知道有什么办法呢? 我已经确认这发生在项目是Outlook 2007加载项或Outlook 2010加载项时。
提前致谢。
所以参考user1217053发送的链接,答案可能会沿着…
创build一个类作用域的Outlook.Mailitem它绑定到BeforeClose事件。
在此字段的BeforeClose事件处理程序中添加代码,如…
cMailItem_BeforeClose(bool Cancel) { var Insp = cMailItem.GetInspector(); Insp.Close(); Marshal.FinalReleaseCOMObject(Insp); Insp = null; }
那么希望这会摆脱影子检查员。
我不知道你是否还在处理这个问题,但是我面对同样的问题,然后find解决scheme。 你必须像我一样使用Ribbondevise师。 色带devise者引起这个问题。 我必须从Ribbondevise器更改为Ribbon XML。 删除代码并改变一些逻辑是有点工作的,但是解决了这个问题。 我听说其他的方法是使用包装类。
希望这可以帮助。