自定义功能区

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

功能区,包含的命令的组的程序窗口的顶部的条 — 新Microsoft Office Fluent 用户界面的一个组件。Office Fluent 用户界面提供了一个集中了Microsoft Office Access 2007中的命令,菜单和工具栏在早期版本的 Access 中的主要替代。

当您开始构建Office Access 2007更高级的应用程序,您可能决定您想要自定义 Office Fluent 功能区,以便轻松地使用应用程序。例如,您可以隐藏一些或所有默认选项卡,以便用户不能使用某些命令,并且可以创建新的、 自定义选项卡包含您希望其成为可用的命令。

在使用Office Fluent 用户界面的所有2007 Microsoft Office 系统程序,您可以使用可扩展标记语言 (XML) 自定义功能区。因此,XML 的一些基本知识很有帮助。本文不介绍 XML 概念,但它为您提供基本的功能区自定义过程以及一些示例 XML,您可以对其进行修改以满足您的需求。

您要做什么?

了解功能区自定义技术

创建并应用自定义功能区

还原默认功能区

了解 XML 示例

了解功能区自定义技术

在Office Access 2007,您通过创建自定义 XML 并添加代码或指示 Access 时要使用的 XML 功能区在其创建的数据库属性设置自定义功能区。若要隐藏现有选项卡,并添加新选项卡、 命令组和命令,您可以使用 XML。本文中的过程显示了如何添加命令的内置访问 (如查找排序和保存) 以及如何添加运行自己编写的 Access 宏的命令。

在多个位置,可存储的 XML,但最简单方法是将其存储在当前数据库中的系统表中。该过程包括创建名为 USysRibbons,添加到它,功能区 XML,然后指定自定义功能区是否显示为整个数据库或特定的窗体或报表的系统表。您可以定义多个自定义功能区 — 一个用于整个应用程序,并为每个窗体或报表数据库中的其他功能区。

创建并应用自定义功能区

以下各节提供了分步说明了如何创建和应用自定义功能区。

开始之前

在导航窗格中显示系统表   默认情况下,系统表不会显示在导航窗格中,因此,以便您可以看到USysRibbons表后,必须首先更改导航选项对话框中的设置。使用以下过程︰

  1. Access 中打开该数据库后,右键单击导航窗格顶部的导航栏,然后单击快捷菜单上的导航选项

  2. 导航选项对话框中,在显示选项中选择显示系统对象复选框,,然后单击确定

    在导航窗格中显示访问系统表。

启用加载项用户接口错误消息的显示   错误消息是信息的有价值时创建和疑难解答功能区自定义 XML,因此最好将显示它们的访问。使用以下过程︰

  1. 单击“Microsoft Office 按钮Office 按钮图像 ,然后单击“Access 选项”。

  2. 单击“高级”

  3. 常规下选择显示加载项用户接口错误复选框,,然后单击确定

创建 USysRibbons 系统表

使用此过程创建 USysRibbons 系统表。更高版本,您将使用此表来存储您的功能区自定义 XML。

  1. 创建选项卡的组中,单击表格设计

  2. 向表中添加以下字段。请务必完全如下所示键入字段名称。

  1. 字段名称

  1. 类型

  1. 字段大小

  1. ID

  1. 自动编号

  1. 长整型

  1. RibbonName

  1. 文本

  1. 255

  1. RibbonXml

  1. 备忘录

  1. 如果需要,您可以添加更多字段此表中,如 Comments 域来描述的功能区 XML 函数。

  2. 选择ID字段。在设计选项卡的工具组中,单击主键

  3. 快速访问工具栏中,单击保存,或按 CTRL + S 名称USysRibbons的新表。

添加到 USysRibbons 表的功能区自定义 XML

为了在此示例中,假设您想要防止数据库的用户在创建选项卡上使用的任何工具。此外,您希望创建名为只需粘贴命令,自定义选项卡上的新选项卡,如下图所示。

自定义功能区选项卡

下面的过程中的 XML 创建此配置。

  1. 在导航窗格中,右键单击USysRibbons表中,,然后单击快捷菜单上的数据表视图

  2. 下面的数据添加到表中。您可以从这篇文章中复制 XML 样本,并将其粘贴直接向表。

ID

RibbonName

RibbonXML

(自动编号)

我的选项卡

<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>
  1. 此 XML 首先指示 Access 不"从头开始",即,指定访问应显示的默认功能区选项卡。然后,它会告诉访问若要隐藏的默认选项卡 (创建选项卡) 的一项。最后,它会创建名为"自定义选项卡上,"的新功能区选项卡中添加命令组名为"自定义组中的"选项卡上,并将粘贴命令添加到组。有关此示例以及如何进行自定义,以满足您需求的详细信息,请参阅部分中了解 XML 示例

  2. 关闭 USysRibbons 该表,然后关闭并重新打开数据库。

应用自定义功能区

现在,自定义功能区 XML 已经存储在一个表,请执行下列操作之一,具体取决于您是否要应用于整个数据库或特定的窗体或报表的功能区。

  • 应用于整个数据库的自定义功能区   

    1. 单击“Microsoft Office 按钮Office 按钮图像 ,然后单击“Access 选项”。

    2. 单击当前数据库,然后在功能区和工具栏选项中,选择功能区名称列表中,以及然后单击所需的功能区,在本例中为我的选项卡

    3. 单击“确定”。

  • 适用于特定窗体或报表的自定义功能区   

    1. 在导航窗格中,右键单击窗体或报表,您想要应用自定义功能区,,然后单击快捷菜单上的设计视图

    2. 如果属性表未显示,请按 F4 以显示它。

    3. 确保顶部的属性表中,在所选内容类型,下的选择对象类型 (窗体报表) 列表中。

    4. 在属性表的其他标签,单击功能区名称列表中,,然后单击要显示的窗体或报表 (在本例中为我的选项卡上) 打开时的功能区。

    5. “快速访问工具栏”上,单击“保存”,或者按 Ctrl+S。

    6. 关闭窗体或报表,并将其重新打开导航窗格中双击。

      显示所选功能区。

在验证您的自定义功能区都能正确工作后,您可以通过执行下列再次隐藏系统表︰

  1. 右键单击导航窗格顶部的导航栏,然后单击快捷菜单上的导航选项

  2. 导航选项对话框中,在显示选项清除显示系统对象复选框,然后单击确定

返回页首

还原默认功能区

若要停止使用自定义功能区和还原默认功能区,请使用下面的过程,具体取决于是否自定义功能区正由整个应用程序或特定的窗体或报表之一。

还原默认应用程序级功能区

  1. 单击“Microsoft Office 按钮Office 按钮图像 ,然后单击“Access 选项”。

  2. 单击当前数据库,然后在功能区和工具栏选项删除功能区名称框中的内容。

  3. 关闭然后重新打开数据库。

Access 会显示其默认功能区选项卡。功能区 XML 一直 USysRibbons 表中将其删除,因此如果您想要恢复自定义功能区,您可以执行此操作通过将功能区名称选项设置回值它包含以前。

还原窗体或报表的默认功能区

  1. 在“设计”视图中打开窗体或报表。

  2. 如果属性表未显示,请按 F4 以显示它。

  3. 确保顶部的属性表中,在所选内容类型,下的选择对象类型 (窗体报表) 列表中。

  4. 在属性表的其他标签,删除功能区名称属性框中的内容。

  5. 保存、 关闭并重新打开窗体或报表。

功能区 XML 一直 USysRibbons 表中将其删除,因此如果您想要恢复自定义功能区,您可以执行此操作通过将该值设置回值功能区名称属性中以前包含。

返回页首

了解 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>
</tab>
</tabs>
</ribbon>
</customUI>

自定义功能区选项卡

在此示例中,在第二行的 XML 将startFromScratch属性设置为False。将该值设置为 False,可确保访问完整保留所有现有选项卡,然后将所有的新选项卡添加到现有的右侧。此属性设置为True删除所有现有选项卡并显示在您的 XML 中创建的。即使startFromScratch属性设置为False时,您仍然可以隐藏单个选项卡。演示了 XML,隐藏内置的创建选项卡上的第四行。使其余行创建自定义选项卡和自定义组,然后将内置粘贴命令通过使用下面的 XML 行添加到组。

<control idMso="Paste" label="Built-in Paste" enabled="true"/>

添加其他组或您的自定义功能区控件   通过添加类似行 XML,并替换控件 idMso标签的不同值,可以向功能区添加更多组和控件。例如,若要创建的控件,将当前所选的对象导出到 Excel 使用下面的 XML。

<control idMso="ExportExcel" label="Export to Excel" enabled="true"/>

若要将控件添加到粘贴命令所在的组中,插入新行的 XML 立即之前或之后创建的粘贴命令行。若要创建新组,您可以复制、 粘贴,并修改创建一个自定义组上面的 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>

此 XML 将添加到自定义选项卡上的另一个组。新建组中,如下图所示包含两个控件 — 启动导入操作从 Excel 中,并且启动对 Excel 导出操作。

包含两个组的自定义功能区选项卡

注意: 自定义功能区中的每个组 id选项卡上的 id值必须唯一。

了解命令的控件 idMso 值   若要了解的内置命令控件 idMso 值,请使用以下过程︰

  1. 单击“Microsoft Office 按钮Office 按钮图像 ,然后单击“Access 选项”。

  2. 单击“自定义”

  3. 将指针移您要了解的项目。Access 会显示在屏幕提示中,在括号中控件的控件 idMso 值。

添加运行 Access 宏命令   可以通过添加运行 Access 宏的命令来添加到您的自定义功能区更大的灵活性。例如,假设您创建一个名为MyMacro宏。将命令添加到功能区运行的宏,请向您的 XML 添加以下行。

<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>

若要将控件添加到在前面的示例中的粘贴命令所在的组中,插入新行的 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"/>
<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>

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×