标签:access 自定义导航 自定义功能区 自定义菜单 自动以工具栏
先上一个实例截图,增强阅读博文的兴趣:
功能区是新的 Microsoft Office Fluent 用户界面的一个组件,它是一个横跨程序窗口顶部的条形带,其中包含多组命令。Office Fluent 用户界面是 Microsoft Office Access 2007 中存放各个命令的单一位置,同时也是 Access 早期版本中的菜单和工具栏的主要替代部分。
在开始使用 Office Access 2007 构建更高级的应用程序时,您可能会决定自定义 Office Fluent 功能区,以提高应用程序的易用性。例如,您可以隐藏部分或全部默认的选项卡,以使用户无法使用某些命令;您也可以创建新的自定义选项卡,并只在其中包含您要使用的命令。
在使用 Office Fluent 用户界面 的所有 2007 Microsoft Office system 程序中,您都可以使用可扩展标记语言 (XML) (可扩展标记语言 (XML):标准标记语言 (SGML) 的一种浓缩形式,开发人员可用其创建自定义标签,为整理和提供信息提供了灵活性。) 来自定义功能区。因此,掌握 XML 的一些基本知识将很有帮助。本文并不介绍 XML 的概念,而是说明自定义功能区的基本过程,同时提供一些示例 XML,您可以根据自己的需要修改这些示例。
在 Office Access 2007 中,自定义功能区的方法是:先创建自定义 XML,然后通过添加代码或设置数据库属性来指示 Access 在创建功能区时使用该 XML。通过该 XML,不仅可以隐藏现有的选项卡,还可以添加新的选项卡、命令组和命令。本文中的过程将演示如何向 Access 中添加内置命令(例如“查找”、“排序”和“保存”)以及如何添加运行自行编写的 Access 宏的命令。
该 XML 可以存储在很多位置,但最简便的方法之一是将其存储在当前数据库的系统表中。该过程可描述为:创建一个名为 USysRibbons 的系统表,接着将功能区 XML 添加到该系统表中,然后指定自定义功能区是针对整个数据库显示,还是针对某个特定的窗体或报表显示。您可以定义多个自定义功能区(一个用于整个应用程序),其他功能区则用于数据库中的各个窗体或报表。
在导航窗格中显示系统表 默认情况下,导航窗格中并不显示系统表,因此首先必须更改“导航选项”对话框中的设置,以便您在创建USysRibbons 表后能够看到它。为此,请使用以下步骤:
Access 系统表将出现在导航窗格中。
启用对加载项用户界面错误消息的显示功能 在创建功能区自定义 XML 以及对其进行故障排除的过程中,错误消息是一个十分有用的信息源,因此最好让 Access 显示它们。为此,请使用以下过程:
使用此过程可创建 USysRibbons 系统表。此表以后将用于存储功能区自定义 XML。
字段名称 | 类型 | 字段大小 |
---|---|---|
ID | 自动编号 | 长整型 |
RibbonName | 文本 | 255 |
RibbonXml | 备注 |
如有必要,可以向此表中添加更多字段,例如添加“注释”字段来描述功能区 XML 的功能。
根据此示例的目的,假设需要防止数据库用户使用“创建”选项卡上的任何工具。此外,您还想新建一个名为“A Custom Tab”且仅包含“粘贴”命令的选项卡,如下图所示。
以下过程中的 XML 将创建此配置。
ID | RibbonName | RibbonXML |
---|---|---|
(AutoNumber) | My Tab |
</customUI>
|
此 XML 首先指示 Access 不要“从头开始”,即它指定 Access 应显示默认的功能区选项卡。接下来,它指示 Access 仅隐藏一个默认选项卡(“创建”选项卡)。最后,它新建一个名为“A Custom Tab”的功能区选项卡并向该选项卡中添加名为“A Custom Group”的命令组,然后向该组中添加“粘贴”命令。有关此示例以及如何根据自身需要自定义此示例的详细信息,请参阅理解 XML 示例部分。
现在该自定义功能区 XML 已存储在表中,接下来请执行下列操作之一,具体执行哪项操作则取决于您是要向整个数据库还是向特定的窗体或报表应用该功能区。
此时将显示您选择的功能区。
在验证自定义功能区能够正常工作后,可以按照下列步骤再次隐藏系统表:
恢复默认功能区
要停止使用自定义功能区并恢复默认功能区,请使用下列过程之一,具体使用哪个过程则取决于该自定义功能区当前是由整个应用程序使用,还是由特定的窗体或报表使用。此时,Access 将显示其默认功能区选项卡。如果您未删除该功能区 XML,它将保留在 USysRibbons 表中,因此如果您要恢复自定义功能区,可以通过将“功能区名称”选项设置回它以前包含的值来实现此目的。
如果您未删除该功能区 XML,它将保留在 USysRibbons 表中,因此如果您要恢复自定义功能区,可以通过将“功能区名称”属性设置回它以前包含的值来实现此目的。
下面是本文前面使用的 XML 示例以及由它创建的自定义功能区的图示。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate" visible="false" /> <tab id="dbCustomTab" label="A Custom Tab" visible="true"> <group id="dbCustomGroup" label="A Custom Group"> <control idMso="Paste" label="Built-in Paste" enabled="true"/> </group> </tab> </tabs> </ribbon> </customUI>
<control idMso="Paste" label="Built-in Paste" enabled="true"/>
<control idMso="ExportExcel" label="Export to Excel" enabled="true"/>
要将该控件添加到“粘贴”命令所在的组中,请找到创建“粘贴”命令的代码行,然后在其紧前面或紧后面插入该新 XML 代码行。要创建新组,可以复制并粘贴以上示例中创建“A Custom Group”组的 XML,然后进行相应的修改。下面的示例演示向自定义组中添加两个控件的 XML。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate" visible="false" /> <tab id="dbCustomTab" label="A Custom Tab" visible="true"> <group id="dbCustomGroup" label="A Custom Group"> <control idMso="Paste" label="Built-in Paste" enabled="true"/> </group> <group id="dbCustomGroup2" label="Another Custom Group"> <control idMso="ImportExcel" label="Import from Excel" enabled="true"/> <control idMso="ExportExcel" label="Export to Excel" enabled="true"/> </group> </tab> </tabs> </ribbon> </customUI>
注释 自定义功能区中的每个group id 和tab id 值都必须是唯一的。
了解命令的 idMso 值 要了解内置命令的 idMso 值,请使用以下过程:
添加运行 Access 宏的命令 通过添加运行 Access 宏的命令,您可以让自定义功能区实现更大的灵活性。例如,假设您创建了一个名为MyMacro 的宏。要向功能区中添加运行该宏的命令,请向您的 XML 中添加下行内容。
<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate" visible="false" /> <tab id="dbCustomTab" label="A Custom Tab" visible="true"> <group id="dbCustomGroup" label="A Custom Group"> <control idMso="Paste" label="Built-in Paste" enabled="true"/> <button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/> </group> <group id="dbCustomGroup2" label="Another Custom Group"> <control idMso="ImportExcel" label="Import from Excel" enabled="true"/> <control idMso="ExportExcel" label="Export to Excel" enabled="true"/> </group> </tab> </tabs> </ribbon> </customUI>
标签:access 自定义导航 自定义功能区 自定义菜单 自动以工具栏
原文地址:http://blog.csdn.net/johnnysun2015/article/details/44955871