【问题标题】:Add controls to existing ribbon group in Office (VSTO)将控件添加到 Office (VSTO) 中的现有功能区组
【发布时间】:2019-03-15 06:32:13
【问题描述】:
我找到了许多关于如何将新组添加到现有功能区的示例,这很好用。
我无法弄清楚如何将新控件添加到现有功能区上的现有组。假设我想将自己的命令添加到“审阅”选项卡上的“校对”组中。
我正在 VS2010 中为 Office2010 开发此功能,但我想同样的方法也适用于 Office 2007。
感谢任何指点或帮助,或者如果无法做到(没有太多黑客攻击)我也可以接受。
【问题讨论】:
标签:
c#
.net
ms-office
vsto
office-2010
【解决方案1】:
很遗憾,这是不可能的。您只能将控件添加到 Office 2007/2010 中的自定义组。
内置组与您可能添加的自定义组确实不同。例如,您会看到内置组(例如字体和段落格式的组)在调整应用程序窗口大小时表现不同。
【解决方案2】:
虽然您无法修改内置组,但您可以隐藏它们。隐藏内置组后,您可以将其替换为您添加了控件的外观。您需要知道要隐藏的组的 ID 以及要重新创建它的组的内容。本网站提供详细信息:Change built-in groups in the Ribbon。但是有一个警告,由于您没有修改组,因此您重新创建的组将不会反映 Microsoft 在不同版本的 Office 中所做的组中标准的更改。
这里的 custoumUI.xml 隐藏了内置的 Proofing 组并将其替换为 Excel 2007 版本的组的副本:
<?xml version="1.0"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<!-- Point to the Built-in tab to the ribbon -->
<tab idMso="TabReview">
<!-- Set visible to false for native Proofing group-->
<group idMso="GroupProofing" visible="false"/>
<!-- Add custom Proofing group -->
<group insertBeforeMso="GroupProofing" label="Proofing" id="DupProofing">
<button idMso="Spelling" size="large"/>
<toggleButton idMso="ResearchPane" size="large"/>
<button idMso="Thesaurus" size="large"/>
<button idMso="TranslationPane" size="large"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>