在Word VBA中将段落行间距添加到自定义功能区?

时间:2014-05-22 20:05:57

标签: vba ms-word word-vba ribbon

几个月来,我一直在绞尽脑汁想要找到一种方法来制作段落"线间距"和" At"字段显示在我的自定义功能区中正如您在下面的屏幕截图中看到的那样,我已经在我想要它出现的自定义功能区上的选项卡区域上空盘旋。

http://i130.photobucket.com/albums/p278/cashflow71/RibbonScreenshotStackoverflow01.png

我很容易通过在 Microsoft Office自定义UI编辑器中使用以下编码来显示之前之后段间距

    <group id="sampleGroup7" label="Before/After">

    <box id="boxGeneralForms1" boxStyle="horizontal" visible="true">

      <control idMso="ParagraphSpacingBefore"/>
      <control idMso="ParagraphSpacingIncrease" visible="false"/>


    </box>  

    <box id="boxGeneralForms2" boxStyle="horizontal" visible="true">

        <control idMso="ParagraphSpacingAfter" label="After:   "/>
        <control idMso="ParagraphSpacingDecrease" visible="false"/>

但我无法在段落弹出菜单中添加通常位于其右侧的两个字段。更具体地说,我要添加的内容是下面屏幕截图中圈出的信息:

http://i130.photobucket.com/albums/p278/cashflow71/RibbonScreenshotStackoverflow02.png

1 个答案:

答案 0 :(得分:1)

Microsoft为每个版本的Office提供了Ribbon XML Office控件的控件参考。 Office 2010和Office 2013的参考资料可在以下位置找到:

Office 2010 Help Files: Office Fluent User Interface Control Identifiers

Office 2013 Help Files: Office Fluent User Interface Control Identifiers

这些电子表格显示了您希望重新定位的任何Microsoft Office控件的标识符。

我查找了Word引用,发现第一个控件的idMso是LineSpacingMenu。我用以下几行将它添加到XML中:

      <box id="boxGeneralForms3" boxStyle="horizontal" visible="true">
        <control idMso="LineSpacingMenu" label="Line Spacing:"></control>
      </box>

我没有看到第二个控件的idMso(允许通过输入值手动调整行间距的控件),但是可以通过向Ribbon XML添加一个editBox并将其绑定来重新创建到行间距的值。