我一直在尝试使用指南 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
-> Options
-> Current Database
-> Ribbon和工具栏选项
-> 功能区名称:MyDatabase
)。
但是,在重新启动数据库时,我的自定义功能区不会出现(尽管在Current Database
选项卡中它仍然处于选中状态)。改为加载标准功能区(没有我的选项卡)。知道为什么吗?
Note: This needs to be a ribbon specific to this database that will appear on any computer that loads it. Not a ribbon that appears on all databases only on this instance of Access (which is what the
Customize Ribbon
button provides)
最佳答案
解决了 - 这里有几点需要注意:
打开 UI 错误 - 这会告诉您功能区无法加载的原因。转到
File
->Options
->Client Settings
->General
->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 的设置(见上文)在德语版本中如下所示:
关于ms-access-2010 - 未加载特定于数据库的自定义功能区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25641532/