2

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

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

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

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

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

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

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

另一方面,我可以通过“qat => add controls”手动将我的功能区添加到 qat 和 .. 瞧 .. 它就在那里,完全按照需要工作,所以我想它一定是可能的。但我需要的是自动执行此操作,以便我们的用户不必对 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>

我发现的有用信息包括:

4

2 回答 2

2

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

  • 1)根据QAT上的这个MS页面,只有Button,ToggleButton和CheckBox是Win7中QAT的有效项目(Win8允许更多控件)。

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

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

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

    <mso:control idQ="x1:myMenu" visible="true"/>

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

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

于 2013-01-18T10:59:59.487 回答
2

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

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

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

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

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

享受!

于 2013-07-24T14:17:34.953 回答