我已经创建了一个Outlook外接程序,它在一个新的电子邮件窗口的色带上添加了一个按钮,但是它导致了一个问题。
下面是发生的情况:
用户拥有Outlook。
提示用户保存文件时,用户试图关闭的文档
操作的情况下访问该文档。
我的Outlook外接程序做了很多其他的事情,但是我已经将它固定在我创建的Ribbon.cs文件中,以便在新的电子邮件窗口中添加一个按钮。当我将RibbonType对象的OfficeRibbon属性从Micorosft.Outlook.Mail.Compose更改为nothing时,Save将显示它应该显示的内容。当我将它改为“撰写”时,它会再次隐藏对话框。
有人知道怎么解决这个问题吗?我已经确认,当项目是Outlook 2007外接程序或Outlook 2010外接程序时,会发生这种情况。
提前谢谢。
发布于 2013-06-13 01:06:20
因此,关于user1217053发送的链接,答案可能是……
为Outlook.Mailitem创建一个类作用域,让它绑定到BeforeClose事件。
在此字段的BeforeClose事件处理程序中,添加代码,如.
cMailItem_BeforeClose(bool Cancel)
{
var Insp = cMailItem.GetInspector();
Insp.Close();
Marshal.FinalReleaseCOMObject(Insp);
Insp = null;
}希望这能摆脱影子探长。
发布于 2014-08-22 13:48:36
我不知道你是否还在处理这个问题,但我也遇到了同样的问题,然后找到了解决办法。你一定和我一样在用丝带设计师。缎带设计师造成了这个问题。我不得不从丝带设计师转变为丝带XML。移除代码和更改一些逻辑需要做一些工作,但这解决了问题。我听说另一种用法是使用包装类。
希望这能有所帮助。
https://stackoverflow.com/questions/8811452
复制相似问题