【问题标题】:Word 2010: how to create a drop-down menu in qat (quick access toolbox)Word 2010:如何在 qat(快速访问工具箱)中创建下拉菜单
【发布时间】:2013-01-17 23:55:14
【问题描述】:

简短: 我想通过在 Word 的启动文件夹中放置一个自定义的 .dotm 文件,向任何 Word 2010 实例的快速访问工具栏添加一个下拉菜单。我未能创建这个自定义的 .dotm 文件

长: 我一直在为 Word 2010 编写一些“插件”,首先使用 VSTO,然后发现部署问题,现在使用 VBA。该插件应简化将我公司的徽标和法律声明添加到文档中(存在不同的徽标和法律声明组合)。

为了允许通过尽可能少的点击来选择所需的徽标和法律声明,我考虑在快速访问工具栏 (qat) 中自动添加一个下拉菜单。我想通过在用户的 Word 启动文件夹中放置一个包含此 qat 扩展的代码和页眉/页脚设置逻辑的 .dotm 文件来做到这一点。

我已经成功地使用 CustomUI 将这样的下拉菜单添加到加载项功能区,在代码方面一切正常。通过菜单,用户可以从提供的所有预设中进行选择,并成功添加页眉和页脚。

此外,我已经看到并使用了成功将控件直接添加到 qat 的示例。

如果将这些示例放在我的启动文件夹中,这些示例可以完美地完成工作,并且其中定义的控件会出现在 Word 的任何实例上。可行的方法是在 .dotm 文档中创建一个新文件夹“userCustomization”,然后创建带有几个限制的 customUI.xml 文件(例如,不允许自定义图标)。

不幸的是,我无法弄清楚如何在 qat 中实现下拉菜单控件。我发现的所有示例都只使用了“简单”(按钮)控件,无论我尝试将按钮包装在标签中多少次,我都无法正常工作。

另一方面,我可以通过“qat => 添加控件”手动将我的功能区添加到 qat 和 ..voilà .. 它就在那里,完全按照需要工作,所以我想它一定是可能的。但我需要的是自动执行此操作,以便我们的用户不必对 qat 进行任何配置。

非常感谢您的帮助!来自德国的问候, 库尔特

这是将下拉菜单添加到加载项选项卡的方式:

<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>

我发现的有用信息包括:

【问题讨论】:

标签: vba customization office-2010 word-2010 ribbonx


【解决方案1】:

好的,更多的研究导致了更多的信息(...),如果其他人可能会搜索类似的问题,我会尝试得出结论......

  • 1) 根据 QAT 上的this MS 页面,只有 Button, ToggleButton 和 CheckBox 是 Win7(Win8 允许更多控制)。

  • 由于您也可以手动添加下拉菜单,我认为必须有某种方法可以自动添加,以及使用按钮、复选框和切换按钮

  • 我可能一辈子都想不出一种方法来自动添加 通过修改启动文件夹中 .dotm 文件的 userCustomization-Folder 中的 customUI.xml 文件下拉到 QAT。

  • 还有另一种实现该目标的可能性:Office 2010 使用 “.officeUI”类型的文件,其中存储每个用户元素 来自 QAT(例如 Word.officeUI)。在那里,添加以下 xml-Element 将确保,如果您已将包含菜单的 .dotm 文件放置在 Word 的启动文件夹,它在加载时显示为下拉菜单 QAT:

    &lt;mso:control idQ="x1:myMenu" visible="true"/&gt;

  • 不幸的是,热情地将这个 xml 元素添加到 userCustomization 中的 customUI.xml 会导致 .. 噗 .. 在 QAT 中根本没有用户定义的额外图标(customUI.xml 已损坏)。

此外,我昨天偶然发现的一个很好的资源是 Andy Pope 的Visual Ribbon Editor。您可以轻松调整功能区和 QAT。

【讨论】:

    【解决方案2】:

    我知道我迟到了,但我通过 Google 找到了这篇文章,并认为你会很感激你的回答。

    可以通过 Word 的 QAT 使用一点 VBA 技巧来创建菜单外观。基本上,创建一个自定义命令栏,每个“控件”代表所需菜单上的一个插槽。如果您愿意,可以使用“.BeginGroup”创建分隔线来分隔项目。您的菜单至少可以降低几级,但出于复杂性的考虑,我不建议您做得太深。

    当您的命令栏完美时,创建一个仅在运行时将命令栏显示为弹出窗口的宏:

        Application.CommandBars("My Command Bar").ShowPopup
    

    将该宏的快捷方式添加到 QAT。当您单击该快捷方式时,您的命令栏将在您的光标处显示为弹出菜单,这是您想要的效果。

    享受吧!

    【讨论】:

    • 谢谢!我非常感谢您的回答,并会尝试您的建议!
    猜你喜欢
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多