C#自定义功能区错误

时间:2018-06-20 19:11:02

标签: c# outlook vsto

我使用以下代码在Outlook的“首页”选项卡上显示一个按钮,但是当我进入新实例(如创建新电子邮件)时,由于TabHome不再可用,我会收到错误消息

  <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
  <tab idMso="TabHome">
<group id="Phishing" label="Phishing">
  <button id="Phishing_Email" label="Phishing_Email" size="large" />
</group>
  </tab>
</tabs>
</ribbon>
</customUI>

ive尝试添加try catch:

  public Ribbon1()
    {
        try
        {
            GetCustomUI("Ribbon1");
        }


        catch (System.Exception e) { }

    }

但是我似乎无法阻止此错误,任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

检查器窗口具有一个带有TabNewMailMessage idMso值的选项卡。因此,您需要根据自定义UI的创建位置返回适当的idMso值。

GetCustomUI方法提供了RibbonID参数,您可以使用该参数来标识自定义UI的加载位置。只需尝试调试加载项,并查看传递给检查器和资源管理器窗口的可能值。

最后,您不应在代码中调用GetCustomUI方法。而是在要创建UI时由Office应用程序调用它。