特定于数据库的自定义功能区未加载

Kai*_*Kai 2 ribbon ms-access-2010

我一直在尝试使用此处的指南为数据库创建自定义功能区.

我有我的功能区的XML(这里为了方便阅读而格式化),其中包括自定义选项卡MyDatabase:

<mso:cmd app="Access" dt="0" />
<mso:customUI xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
    <mso:ribbon>
        <mso:qat/>
        <mso:tabs>
            <mso:tab id="mso_c5.55CD83" label="MyDatabase">
                <mso:group id="mso_c6.55CD83" label="Sort &amp;&amp; Filter" imageMso="FilterByResource">
                    <mso:control idQ="mso:FiltersMenu" visible="true"/>
                    <mso:control idQ="mso:SortUp" size="small" visible="true"/>
                    <mso:control idQ="mso:SortDown" size="small" visible="true"/>
                    <mso:control idQ="mso:SortRemoveAllSorts" visible="true"/>
                    <mso:control idQ="mso:SortSelectionMenu" visible="true"/>
                    <mso:control idQ="mso:FilterToggleFilter" visible="true"/>
                </mso:group>
                <mso:group id="mso_c7.570112" label="Find" autoScale="true">
                    <mso:control idQ="mso:FindDialog" visible="true"/>
                    <mso:control idQ="mso:GoToMenuAccess" visible="true"/>
                </mso:group>
                <mso:group id="mso_c8.57A030" label="Clipboard" autoScale="true">
                    <mso:control idQ="mso:Copy" visible="true"/>
                </mso:group>
            </mso:tab>
        </mso:tabs>
    </mso:ribbon>
</mso:customUI>
Run Code Online (Sandbox Code Playgroud)

USysRibbons按照描述创建了表格并添加了功能区.我已经为这个数据库设置了功能区(File- > Options- > Current Database- > Ribbon and Toolbar Options- > Ribbon Name: MyDatabase).

但是,在重新启动数据库时,我的自定义功能区不会出现(尽管它仍在Current Database选项卡中选中).而是加载标准功能区(不带我的选项卡).知道为什么吗?

注意:这需要是特定于此数据库的功能区,功能区将显示在加载它的任何计算机上.不是仅在此Access实例上显示在所有数据库上的功能区(Customize Ribbon按钮提供的功能)

Kai*_*Kai 7

解决了它 - 这里要注意几件事:

  1. 打开UI错误 - 这将告诉您无法加载功能区的原因.转到File- > Options- > Client Settings- > General- > Show add-in user interface errors,这有助于调试.否则它完全无声地失败.

  2. 我在问题中发布的XML是Access在导出自定义功能区时产生的XML .不幸的是,这种USysRibbons方法似乎不喜欢它自己的XML风格(哦,微软).相反,它必须规定这里描述的格式- 基本上删除<mso:cmd app="Access" dt="0" />,删除所有mso:标记前缀,并将属性更改idQ="mso:xxxx"idMso="xxxx".这是最终适合我的XML:

    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
        <ribbon startFromScratch="true"> 
            <tabs> 
                <tab id="MyDatabase" label="My Database"> 
                    <group id="SortFilter" label="Sort &amp;&amp; Filter"> 
                        <control idMso="FiltersMenu" visible="true"/> 
                        <control idMso="SortUp" visible="true"/> 
                        <control idMso="SortDown" visible="true"/> 
                        <control idMso="SortRemoveAllSorts" visible="true"/> 
                        <control idMso="SortSelectionMenu" visible="true"/> 
                        <control idMso="FilterToggleFilter" visible="true"/> 
                    </group > 
                </tab> 
            </tabs> 
        </ribbon> 
    </customUI>
    
    Run Code Online (Sandbox Code Playgroud)

编辑

数字1的设置(见上文)在德语版本中如下所示:

设置为打开UI错误的显示