c# - C# 自定义功能区错误
问题描述
我使用下面的代码在 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>
我尝试添加一个try catch:
public Ribbon1()
{
try
{
GetCustomUI("Ribbon1");
}
catch (System.Exception e) { }
}
但我似乎无法防止这个错误有人能帮忙吗?
解决方案
检查器窗口有一个带有TabNewMailMessage
idMso 值的选项卡。idMso
因此,您需要根据要创建自定义 UI 的位置返回适当的值。
GetCustomUI方法提供了一个参数,您可以使用该RibbonID
参数来确定您的自定义 UI 将被加载到哪里。只需尝试调试加载项并查看为检查器和资源管理器窗口传递的可能值。
最后,您不应该GetCustomUI
在代码中调用该方法。相反,它会在创建 UI 时由 Office 应用程序调用。
推荐阅读
- swift - Swift JSON 编码和解码
- android - Flutter 小部件包裹在自定义小部件中
- javascript - Promise 的包装函数没有返回
- c++ - 无法理解范围解析运算符的使用
- php - PHP如何使用此代码读取文件内容
- java - 包含 1 个元素的数组是否占用与该 1 个元素相同的内存量?
- java - SetHasFixedSizetrue 显示错误 如何解决
- javascript - JavaScript 减去 reactJS 中使用的时间
- .net - 如何解决错误.net framework version were not found?
- c# - OpenTK:将 unifrorm 数组和 vec2d 传递给片段着色器