SHORT: 我想通过在Word的启动文件夹中放置一个自定义的.dotm文件,将一个下拉菜单添加到任何Word 2010实例的快速访问工具栏中。我在创建此自定义.dotm文件时失败。
LONG: 我一直在为Word 2010编写一个小小的“插件”,首先使用VSTO,然后找出部署的问题,现在使用VBA。该插件应简化将我公司的徽标和法律声明添加到文档中(存在徽标和法律声明的不同组合)。
为了允许用尽可能少的点击选择希望的徽标和法律声明,我考虑自动将一个下拉菜单添加到快速访问工具栏(qat)。我想通过放置一个包含此qat-extension&的代码的.dotm文件来实现此目的。用户的Word启动文件夹中页眉/页脚设置的逻辑。
我已经成功使用CustomUI将这样的下拉菜单添加到Add-Ins-Ribbon,一切都在代码端正常工作。通过菜单,用户可以从提供的所有预设中进行选择,并且成功添加页眉和页脚。
此外,我已经看到并玩过成功地将控件直接添加到qat的示例。
如果放在我的启动文件夹中,这些示例做得很好,其中定义的控件出现在任何Word实例上。要做的是在.dotm文档中创建一个新文件夹“userCustomization”,然后创建具有几个限制的customUI.xml文件(例如,不允许自定义图标)。
不幸的是,我无法弄清楚如何在qat中实现下拉菜单控件。我发现的所有示例都只使用了“简单”(按钮)控件,无论我尝试在标签中包装按钮多少次,我都没有使用它。
另一方面,我可以通过“qat =>添加控件”手动添加我的色带到qat和..voilà..它就在那里,完全按照需要工作,所以我想它一定是可能的。但我需要的是自动执行此操作,以便我们的用户不必对qat进行任何配置。
非常感谢帮助!来自德国的问候, 库尔特
这是下拉菜单添加到Add-Ins选项卡的方式:
<ribbon>
<tabs>
<tab idMso="TabAddIns">
<group id="MyGroup" label="WordDesigner" visible="false">
<menu id="myMenu" label="Design einfügen" size="large" image="menulogo">
<menu id="mySubMenu" label="Rechnungswesen" image="icon2">
<button id="MahnUndKlage" label="Mahn- und Klage" image="icon3" onAction="DesignAnwenden"/>
<button id="Buchhaltung" label="Buchhaltung" image="icon3" onAction="DesignAnwenden"/>
</menu>
<button id="Personalabteilung" label="Personalabteilung" image="icon3" onAction="DesignAnwenden"/>
<button id="Verkauf" label="Verkauf" image="icon4" onAction="DesignAnwenden"/>
<button id="clearHeaderAndFooter" label="Gestaltung entfernen" image="icon5" onAction="DesignAnwenden"/>
</menu>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
我发现的有用信息包括:
答案 0 :(得分:2)
好吧,一些更多的研究已经获得了更多信息(......),如果其他人可能会搜索类似的问题,我会试着总结一下我得到的信息......
1)根据QAT上的this MS页面,只有Button, ToggleButton和CheckBox是Win7中QAT的有效项(Win8 允许一些更多的控制。)
由于您也可以手动添加下拉菜单,我认为必须有一些方法可以自动执行此操作以及按钮,复选框和togglebuttons
我可以为我的生活找不到自动添加的方法 通过修改启动文件夹中.dotm文件的userCustomization-Folder中的customUI.xml文件来下拉到QAT。
实现该目标还有另一种可能性:Office 2010使用 一个“.officeUI”类型的文件,它存储每个用户元素 来自QAT(例如Word.officeUI)。在那里,添加以下xml-Element将确保,如果您已放置包含菜单的.dotm文件 Word的启动文件夹,它在加载时显示为下拉列表 QAT:
<mso:control idQ="x1:myMenu" visible="true"/>
不幸的是,热心地将这个xml-Element添加到userCustomization中的customUI.xml会导致.. poof ..在QAT中根本没有用户定义的额外图标(customUI.xml已损坏)。
此外,我昨天偶然发现的一个很好的资源是安迪波普的Visual Ribbon Editor。您可以轻松调整功能区和QAT。
答案 1 :(得分:2)
我知道我已经迟到了,但是我发现这篇帖子来自谷歌,并且认为你很感激答案。
你可以通过Word的QAT创建一个菜单的外观,并带有一些VBA技巧。基本上,创建一个自定义命令栏,每个“Control”代表所需菜单上的一个插槽。如果您愿意,可以使用“.BeginGroup”创建分隔线以分隔项目。你的菜单至少可以降低几级,但出于复杂性的考虑,我不建议过深。
当您的命令栏完美时,创建一个只在运行时将命令栏显示为弹出窗口的宏:
Application.CommandBars("My Command Bar").ShowPopup
将该宏的快捷方式添加到QAT。单击该快捷方式时,命令栏将显示为光标处的弹出菜单,这是所需的效果。
享受!