首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的自定义Outlook外接程序导致Excel对话框隐藏自己

我的自定义Outlook外接程序导致Excel对话框隐藏自己
EN

Stack Overflow用户
提问于 2012-01-10 22:27:27
回答 2查看 2.2K关注 0票数 1

我已经创建了一个Outlook外接程序,它在一个新的电子邮件窗口的色带上添加了一个按钮,但是它导致了一个问题。

下面是发生的情况:

用户拥有Outlook。

  • 用户打开excel。

  • 用户通过文件-> sends >Send将Excel文档发送给某人,因为当shenanigans.

提示用户保存文件时,用户试图关闭的文档

  • 试图关闭该文档,但是对话框隐藏在Excel窗口后面,用户无法在不执行某些shenanigans.

操作的情况下访问该文档。

我的Outlook外接程序做了很多其他的事情,但是我已经将它固定在我创建的Ribbon.cs文件中,以便在新的电子邮件窗口中添加一个按钮。当我将RibbonType对象的OfficeRibbon属性从Micorosft.Outlook.Mail.Compose更改为nothing时,Save将显示它应该显示的内容。当我将它改为“撰写”时,它会再次隐藏对话框。

有人知道怎么解决这个问题吗?我已经确认,当项目是Outlook 2007外接程序或Outlook 2010外接程序时,会发生这种情况。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-06-13 01:06:20

因此,关于user1217053发送的链接,答案可能是……

为Outlook.Mailitem创建一个类作用域,让它绑定到BeforeClose事件。

在此字段的BeforeClose事件处理程序中,添加代码,如.

代码语言:javascript
复制
cMailItem_BeforeClose(bool Cancel)
{
  var Insp = cMailItem.GetInspector();
  Insp.Close();
  Marshal.FinalReleaseCOMObject(Insp);
  Insp = null;
}

希望这能摆脱影子探长。

票数 1
EN

Stack Overflow用户

发布于 2014-08-22 13:48:36

我不知道你是否还在处理这个问题,但我也遇到了同样的问题,然后找到了解决办法。你一定和我一样在用丝带设计师。缎带设计师造成了这个问题。我不得不从丝带设计师转变为丝带XML。移除代码和更改一些逻辑需要做一些工作,但这解决了问题。我听说另一种用法是使用包装类。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8811452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档