首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加附件上下文菜单Outlook 2013

添加附件上下文菜单Outlook 2013
EN

Stack Overflow用户
提问于 2016-11-28 14:51:26
回答 1查看 686关注 0票数 0

我正在做一个项目,当你点击鼠标右边的clik附件时,它会使用Outlook来执行一个进程。

在2013年展望之前,该项目一直运作良好。我发现这篇文章解释了为什么它不再起作用了:

在Outlook 2013中,他们已经完全删除了所有内置命令栏和命令栏控件。因此,无法访问和使用Outlook 2013中内置的主菜单、上下文菜单和工具栏。由于同样的原因,Outlook 2013中不支持AttachmentContextMenuDisplay和ContextMenuclose事件。

链接到邮政

实际上,由于未触发的事件,我的程序崩溃了:

代码语言:javascript
复制
this.Application.AttachmentContextMenuDisplay += new Outlook.ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(Application_AttachmentContextMenuDisplay);

你们知道如何让它在Outlook 2013中工作吗?我还在找信息。

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-11-29 09:40:51

解决办法就在我找到的帖子里..。

以下是XML:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <contextMenus>
    <contextMenu idMso="ContextMenuAttachments">
      <button id="DT2MQPRContextMenuAttachments"
              label="Add to MQPR..."
              getVisible="DT2MQPRButton_GetVisible"
              onAction="OnMyButtonClick" />
    </contextMenu>
  </contextMenus>
</customUI>

该方法的代码:

代码语言:javascript
复制
public void OnMyButtonClick(Office.IRibbonControl control)
{
    try
    {
        object context = control.Context;
        if (context == null) return false;
        if (context is Outlook.AttachmentSelection)
        {
            Outlook.AttachmentSelection selectedAttachments = context as Outlook.AttachmentSelection;
            SelectedAttachment = attachment[1];
            OutlookCommon._fName = SelectedAttachment.FileName;
            // etc...
        }
        Marshal.ReleaseComObject(context); context = null;
        }
    catch (Exception ex)
    {
        Console.WriteLine("attachmentButton_Click  " + ex.ToString());
    }
}

好了,如果它能帮到任何人的话;)

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

https://stackoverflow.com/questions/40847152

复制
相关文章

相似问题

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