我一直在尝试使用指南here为数据库创建自定义功能区。
我有我的功能区的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 && 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>
并按照描述创建了USysRibbons
表,并将功能区添加到其中。我已经开始设置功能区以显示此数据库(File
- &gt; Options
- &gt; Current Database
- &gt; Ribbon and Toolbar Options
- &gt; { {1}})。
但是,在重新启动数据库时,我的自定义功能区不会显示(尽管仍在Ribbon Name: MyDatabase
标签中选中)。而是加载标准功能区(不带我的选项卡)。知道为什么吗?
注意:这需要是特定于此数据库的功能区,它将出现在任何加载它的计算机上。不是仅在此Access实例上显示在所有数据库上的功能区(这是
Current Database
按钮提供的功能)
答案 0 :(得分:7)
解决了 - 这里需要注意几点:
启用UI错误 - 这将告诉您无法加载功能区的原因。转到File
- &gt; Options
- &gt; Client Settings
- &gt; General
- &gt; Show add-in user interface errors
,有助于调试。否则它会完全无声地失败。
我在问题中发布的XML是导出自定义功能区时 Access自身生成的XML。不幸的是,这个USysRibbons
方法似乎不喜欢它自己的XML风格(哦, Microsoft )。相反,它必须按照here所述的格式规定 - 基本上删除<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 && 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>
数字1(见上文)的设置在德语版本中如下所示: