更改自定义Excel功能区下拉列表的大小

时间:2016-07-28 13:02:26

标签: xml excel vba excel-vba ribbon

enter image description here

我在功能区中有这个下拉列表,其中包含工作簿中的所有可见工作表。用户可以在那里选择一张表格来跳转到它。这很重要,因为这本工作簿中有大量的工作表。不幸的是,当工作表的名称很长时,它并没有完全显示出来。 我希望扩大规模。

我使用Microsoft Office的CustomUI编辑器使用我不太流畅的XML技能创建它。以下是代码的一部分:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="InitS3Ribbon">
    <ribbon>
        <tabs>
            <tab id="s3Tab" label="S3 Menu">
                <group id="grGeneral" label="General">

                    <dropDown id="navigation" label="Navigation" getItemCount="GetNavigateItemCount" getItemLabel="GetNavigateLabel" onAction="MenuNavigate" getSelectedItemIndex="SetNavigateIndex" showLabel="true" />

                    <button id="bShowHideSheet" imageMso="PivotPlusMinusButtonsShowHide" label="Show/Hide sheets" size="normal" onAction="MenuShowHideSheets" />
                    <button id="bPreviousPage" imageMso="LeftArrow2" label="Previous sheet" size="large" onAction="MenuPreviousSheet" />
                    <button id="bNextPage" imageMso="RightArrow2" label="Next sheet" size="large" onAction="MenuNextSheet" />
                </group>

我发现this resource说可以使用SizeString属性进行更改,但我甚至不确定在我的代码中如何或在何处包含该属性。看起来我觉得它应该在VBA部分吗?我不确定我理解,我喜欢指导。我现在不确定是否要编辑XML或VBA以及如何编辑。

1 个答案:

答案 0 :(得分:3)

官方XML规范可在此处找到:https://msdn.microsoft.com/en-us/library/cc313070(v=office.12).aspx

看起来sizeString可以直接用作下拉XML标记的属性。如下所示:

<dropDown id="navigation" label="Navigation" sizeString="MY_MAX_LENGTH_STRING" getItemCount="GetNavigateItemCount" getItemLabel="GetNavigateLabel" onAction="MenuNavigate" getSelectedItemIndex="SetNavigateIndex" showLabel="true" />

你只需要知道你遇到的最长的字符串是什么,然后把它放在MY_MAX_LENGTH_STRING中。考虑到您使用下拉列表来保存最多31个字符的工作表名称,您可以使用该长度作为起点。