自定义Access2007及以上版本的功能区

先上一个实例截图,增强阅读博文的兴趣:

功能区是新的 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
表后能够看到它。为此,请使用以下步骤:

  1. 在 Access 中打开该数据库,右键单击导航窗格顶部的导航栏,然后单击快捷菜单上的“导航选项”。
  2. 在“导航选项”对话框中的“显示选项”下,选中“显示系统对象”复选框,然后单击“确定”。

    Access 系统表将出现在导航窗格中。

启用对加载项用户界面错误消息的显示功能  在创建功能区自定义 XML 以及对其进行故障排除的过程中,错误消息是一个十分有用的信息源,因此最好让 Access 显示它们。为此,请使用以下过程:

  1. 单击“Office 按钮”,然后单击“Access 选项”。
  1. 单击“高级”。
  2. 在“常规”下,选中“显示加载项用户界面错误”复选框,然后单击“确定”。

创建 USysRibbons 系统表

使用此过程可创建 USysRibbons 系统表。此表以后将用于存储功能区自定义 XML。

  1. 在“创建”选项卡上的“表”组中,单击“表设计”。
  2. 向该表中添加下列字段。请确保完全按所示字段名称键入。
    字段名称 类型 字段大小
    ID 自动编号 长整型
    RibbonName 文本 255
    RibbonXml 备注

    如有必要,可以向此表中添加更多字段,例如添加“注释”字段来描述功能区 XML 的功能。

  3. 选择“ID”字段。在“设计”选项卡上的“工具”组中,单击“主键”。
  4. 在“快速访问工具栏”上,单击“保存”,或者按 Ctrl+S。将新表命名为USysRibbons

向 USysRibbons 表添加功能区自定义 XML

根据此示例的目的,假设需要防止数据库用户使用“创建”选项卡上的任何工具。此外,您还想新建一个名为“A Custom Tab”且仅包含“粘贴”命令的选项卡,如下图所示。

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

  1. 在导航窗格中,右键单击“USysRibbons”表,然后单击快捷菜单上的“数据表视图”。
  2. 向该表中添加以下数据。您可以复制本文中的 XML 示例,然后直接将其粘贴到该表中。
    ID RibbonName RibbonXML
    (AutoNumber) My Tab
    <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 首先指示 Access 不要“从头开始”,即它指定 Access 应显示默认的功能区选项卡。接下来,它指示 Access 仅隐藏一个默认选项卡(“创建”选项卡)。最后,它新建一个名为“A Custom Tab”的功能区选项卡并向该选项卡中添加名为“A Custom Group”的命令组,然后向该组中添加“粘贴”命令。有关此示例以及如何根据自身需要自定义此示例的详细信息,请参阅理解
    XML 示例
    部分。

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

应用自定义功能区

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

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

    1. 单击“Office 按钮”,然后单击“Access 选项”。
    2. 单击“当前数据库”,接着在“功能区和工具栏选项”下选择“功能区名称”列表,然后单击所需的功能区(在此示例中为“My
      Tab”)。
    3. 单击“确定”。
  • 向特定的窗体或报表应用自定义功能区  
    1. 在导航窗格中,右键单击要应用该自定义功能区的窗体或报表,然后单击快捷菜单上的“设计视图”。
    2. 如果尚未显示属性表,请按 F4 来显示它。
    3. 在属性表顶部的“所选内容的类型”下,请确保从该列表中选择对象类型(“窗体”或“报表”)。
    4. 在属性表的“其他”选项卡上,单击“功能区名称”列表,然后单击要在打开窗体或报表时显示的功能区(在此示例中为“My Tab”)。
    5. 在“快速访问工具栏”上,单击“保存”,或者按 Ctrl+S。
    6. 关闭该窗体或报表,然后在导航窗格中通过双击将其重新打开。

      此时将显示您选择的功能区。

在验证自定义功能区能够正常工作后,可以按照下列步骤再次隐藏系统表:

  1. 右键单击导航窗格顶部的导航栏,然后单击快捷菜单上的“导航选项”。
  2. 在“导航选项”对话框中的“显示选项”下,清除“显示系统对象”复选框,然后单击“确定”。


恢复默认功能区

要停止使用自定义功能区并恢复默认功能区,请使用下列过程之一,具体使用哪个过程则取决于该自定义功能区当前是由整个应用程序使用,还是由特定的窗体或报表使用。

恢复默认的应用程序级功能区

  1. 单击“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,可以确保 Access 将现有的所有选项卡保留原样,并将任何新选项卡添加到现有选项卡的右侧。如果将此属性设置为True,将删除所有现有的选项卡,并只显示您在 XML 中创建的选项卡。即使将startFromScratch
属性设置为False,您仍可以隐藏各个选项卡。XML 的第四行可说明这一点,该行代码隐藏了内置的“创建”选项卡。剩余的代码行将创建一个自定义选项卡和一个自定义组,然后使用下行
XML 代码向该组中添加内置的“粘贴”命令。

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

向自定义功能区中添加其他组或控件  通过添加类似的 XML 代码行并替换不同的idMso
和 label 值,您可以向功能区中添加其他组和控件。例如,要创建一个控件,以便将当前选定的对象导出至 Excel,请使用以下 XML。

<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>

此 XML 会向“A Custom Tab”添加另一个组。如下图所示,新组包含两个控件:一个用于启动从 Excel 执行导入的操作,另一个用于启动导出至
Excel 的操作。

注释   自定义功能区中的每个group id 和tab id 值都必须是唯一的。

了解命令的 idMso 值  要了解内置命令的 idMso 值,请使用以下过程:

  1. 单击“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>
时间: 2024-11-09 01:58:11

自定义Access2007及以上版本的功能区的相关文章

最稳定的Nginx绿色环境,可无限自定义PHP和mysql版本、同时运行N个版本

应学生要求,我最近更新了PHPWAMP,新版PHPWAMP8.8.8.8n添加了强大的Nginx站点管理 纯绿色解压即可使用,默认集成多个mysql和php版本,Apache支持所有运行模式,集成vc运行库,Nginx具有独立服务,可以完美运行,无论是Apache还是Nginx站点管理都支持无限自定义php和mysql版本,多个PHP版本同时运行,虽然集成的都是完整无阉割的组件,但是压缩包进行了高强度压缩,仅有几十M大小,建议优先采用7Z进行解压. 我们已经知道从Nginx官方默认下载下来的Wi

超强windows10稳定Nginx绿色环境,可无限自定义PHP和mysql版本、同时运行N个版本

转载自互联网, 小编发现最近PHPWAMP集成环境的作者Lccee,又更新了phpwamp8.8.8.8n版本 phpwamp8.8.8.8n一共集成了12个PHP版本和3个mysql版本,并且可以高度自定义,你可以定义任何版本,解压后差不多1个G的大小,压缩包确仅有几十M,解压即可使用,纯绿色很方便,集成了apache和nginx等,支持asp.php.net 大家知道Nginx官方的windows版本用着很不稳定,时不时就会挂掉,而且默认安装后也不像apache那样有服务可以开机启动,毕竟n

自定义npm包——typeScript版本

前言 这篇文章是在我之前的文章 [自定义npm包的创建.发布.更新和撤销] 的基础上做的扩展,主要是针对如何创建以及发布一个typeScript语言的npm包. 大纲 1.创建关于typeScript的npm包2.往npm包中添加一些内容3.对package.json进行配置4.发布5.创建使用案例6.优化 简书原文 https://www.jianshu.com/p/fbbaa379bced 1.创建关于typeScript的npm包 1.1.创建npm包 执行: npm init -y获得一

PHP集成环境如何自定义PHP版本,同时运行多个php版本一键开启常用模块。

本文采用我自己开发的纯绿色版WAMP环境(我将这个WAMP环境命名为PHPWAMP) (PHPWAMP默认集成VC,不需要单独安装) 那么什么是WAMP环境?WAMP这个词是什么意思? Windows下的Apache+Mysql+PHP,称为WAMP.而Linux系统下的Apache+Mysql+PHP,称为LAMP. 属于WAMP环境的集成软件有很多,且各有特点. 本文案例采用的PHP集成环境是我最新发布的新版本PHPWAMP8.1.8.8. PHPWAMP绿色集成环境介绍: 6年前,因为想随

PHP集成环境如何自定义PHP版本,一键自动生成常用配置。

本文采用我自己开发的纯绿色版WAMP环境(我将这个WAMP环境命名为PHPWAMP) (PHPWAMP默认集成VC,不需要单独安装) 那么什么是WAMP环境?WAMP这个词是什么意思? Windows下的Apache+Mysql+/PHP,称为WAMP.而Linux系统下的Apache+Mysql+/PHP,称为LAMP. 属于WAMP环境的集成软件有很多,且各有特点.今天本文采用的PHP集成环境是PHPWAMP8.1.8.8版本. PHPWAMP绿色集成环境介绍: 6年前,因为想随时随地使用w

PHPWAMP快速自定义Mysql历史版本,吸纳其他集成环境的Mysql数据库

当时因为很多学生向我提建议,希望我能添加Mysql自定义功能,因此我便加入了此功能, 下个版本预告: PHPWAMP下个版本将会集成PHP打包器,可以将PHP网站生成单个EXE文件,双击即可浏览网站. 在打包PHP网站的过程中还可以选择任意PHP版本.Mysql版本.以及Web服务器,敬请期待后续版本吧. 目前的PHPWAMP支持,Nginx.IIS.Apache,支持无限制添加php和Mysql版本同时运行. 下面我们开始讲解一下目前PHPWAMP最新版本如何快速自定义任意的Mysql历史版本

全能自定义环境,一键快速安装PHP7.2版本,32/64位任选

想要在windows环境下快速搭建最新的PHP版本,可以使用全能自定义PHP集成环境PHPWAMP_IN2 全能自定义:PHPWAMP_IN2支持一键自定义Apache.nginx.PHP.Mysql任意版本,无需安装VC运行库, 其他集成环境只有32位可以选择,PHPWAMP同时支持32位64位随意变换,自定义时全自动智能匹配你的系统. 快速安装PHP7.2最新版具体案例(32/64位PHP任选): 从PHP官方网站下载最新的PHP7.2,(32位和64位任选,都能支持) PHP官方下载地址:

在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)

在本文档中 本笔记介绍了在Oracle电子商务套件版本12.2中创建自定义应用程序所需的基本步骤.如果您要创建新表单,报告等,则需要自定义应用程序.它们允许您将自定义编写的文件与Oracle电子商务套件提供的标准种子功能分离.在向您的环境应用修补程序或执行升级时可以保留自定义设置. 自定义数据和索引表空间默认为APPS_TS_TX_DATA和APPS_TS_TX_IDX. 注意:当没有活动的修补程序周期时,应在运行文件系统上执行本文档中描述的过程. 也可以按照此过程更正先前创建的不使用AD Sp

Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾

Atitit.播放系统规划新版本 v4  q18  and 最近版本回顾 1 版本12 (ing)4 1.1 无映射nas系统..4 1.2 图片简介搜刮其4 1.3 12.8. 电影图片增加png,bmp等格式支持,目前只有jpg方式95 1.4 12.9. 电影简介增加utf8编码支持,目前只有gbk编码方式95 1.5 12.10. 路径item俩端过滤空格,增强对路径 的容错处理95 1.6 不同分店的分类配置分离5 1.7 问题自动反馈支持5 1.8 规划h5本地缓存系列 5 1.9