c# - 将预定义的功能区按钮添加到自定义插件

标签 c# ms-office vsto

我们在 MS Office 2013 Word、Excel 和 Outlook 上安装了第三方功能区。我们也有自己的部门定制丝带。

我需要做的是隐藏第三方功能区,但在我们的自定义功能区上包含几个按钮以调用第三方功能区上的特定按钮。

我该怎么做?

最佳答案

您可以使用回调 getVisible 根据变量切换功能区的可见性。

<tab idMso="TabYourThirdPartyRibbon" getVisible="GetVisible"/> 

如果可以,请引用第 3 方功能区按钮的 idMso 值。

如果不能,请使用 Keytips/SendKeys。

*仅供引用,如果第 3 方功能区没有为每个控件命名键提示,则在添加/删除另一个功能区时它们可以更改。

如果要从另一个功能区调用功能区按钮,请按 Alt 键获取键提示引用。如下所示,我想引用 Script Help 功能区,它是 Y2

ribbon tag screenshot

然后按 Alt + Y + 2 显示该功能区的控制键提示控件引用。如下所示,我想引用 Clean Data 按钮,它是 Y7

ribbon button tags screenshot

然后您可以使用 SendKeys 通过添加以下过程来按下这些键提示引用。

    public void CallButtonFromAnotherRibbon()
    {
        try
        {
            SendKeys.Send("%");
            SendKeys.Send("Y");
            SendKeys.Send("2");
            SendKeys.Send("%");
            SendKeys.Send("Y");
            SendKeys.Send("7");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString(), "Unexpected Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

Microsoft Documentation for KeyTips

Microsoft Documentation for SendKeys

关于c# - 将预定义的功能区按钮添加到自定义插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48414381/

相关文章:

c# - 使用 ReSharper 更新命名空间的最快方法?

c# - 如何为 C# 生成的 Excel 文件创建目录?

java - 如何使用 apache poi 检查 .xlsx 文件中的单元格文本是否有删除线

c# - 使用 Visual Studio 2010 (VSTO) 进行 Office 开发,需要考虑的事项

c# - VSTO - 使用 C# 在 Excel 工作簿中激活 "Track Changes"

c# - 不理解 RunInstaller 属性

c# - 如何以编程方式在 powerpoint 幻灯片放映期间调用 Action ?

c# - 我觉得自己像个管道厂里的老鼠。设计 WPF 绑定(bind)解决方案的策略?

c# - 如何从具有特定值的 C# 列表中查找随机项?

c# - "ProtoCompile"任务,.Net Core 控制台应用程序不支持 AdditionalProtocArguments"参数