Access 2007 功能区运用祥细讲解下


这样就能使用智能提示功能,快速地编写功能区XML

  二.编写回调函数

回调函数的目的是完成功能区上控件所执行的功能。在上一篇文章中的 XML 内容中,第一行:

  <customUIxmlns="http://schemas.microsoft.com/office/2006/01/customui"onLoad="onLoadRibbon">

  onLoad 属性值为 onLoadRibbon,即表示在加载功能区时调用 onLoadRibbon 函数,这个函数要用 VBA 来进行书写。

  一、建立 Access 应用程序

  新建一个数据库,命名为功能区.accdb,导入 Northwind2007.accdb 数据库中所有对象(示例中要用一些对象)

按 Alt+F11 键进入 VBE。为了使用功能区对象,首先必须引用 Microsoft Office 12.0 Object Library。

  二、建立模块

  为了统一管理,将所有回调函数放在同一个模块中,在 VBE 中新建一个模块,命名为 basRibbonCallbacks。为了以后能方便地使用自定义的功能区对象,定义一个全局对象变量 gobjRibbon,并 onLoad 指定的回调函数 onLoadRibbon 中进行赋值。

OptionCompareDatabase
OptionExplicit
'------------------------------
本模块包含Ribbon回调子程序'------------------------------
  
PublicgobjRibbonAsIRibbonUI
  
'自定义Ribbon加载时事件处理PublicSubonLoadRibbon(RibbonAsIRibbonUI)  '将自定义Ribbon对象设置为全局对象    SetgobjRibbon=RibbonEndSub

实现功能区中的“打开罗斯文商贸”控件的onOpenFormEdit 回调函数,通过功能区中的 Tag 属性实现传递要打开的窗体名,在本例中,<button id="cmdHome" label="打开罗斯文商贸" imageMso="MeetingsWorkspace" size="large" onAction="onOpenFormEdit" tag="Home"/>,cmdHome 按钮控件的 Tag 属性为“Home”,指定要打开的窗体为“Home”。

'通过Ribbon中的Tag属性实现传递要打开的窗体PublicSubonOpenFormEdit(controlAsIRibbonControl)  '以编辑方式打开窗体  DoCmd.OpenFormcontrol.Tag,,,,acFormEditEndSub

  实现功能区中的“关闭数据库”的onCloseDatabase 回调函数。

  PublicSubonCloseDatabase(controlAsIRibbonControl)  DoCmd.CloseDatabaseEndSub

  创建功能区系统数据表

  讲述了如何创建功能区XML,那么这个 XML 如何使用呢?

  对于 Access 2007 来说,要将这个 XML 的内容存储在一个名为 USysRibbons 的系统表中,才能使用。

  一、创建 USysRibbons 表
在上一讲中,建立了Ribbon.accdb 数据库,打开这个数据库,在系统的功能面板上选择[插入]面板,在[表和列表]上点击[表]按钮,创建新表。

  新加两个字段:RibbonName 和功能区XML,其中,RibbonName 为“文本”类型,RibbonXML 为“备注”类型,将其保存为 USysRibbons:

  二、设置 Access 选项

  由于这个以 USys 开头的系统表,在默认设置的情况下,在导航面板中是看不到的,因此,要设置 Access 的选项才能将其显示在导航面板中。点击 Access 的文件菜单按钮,即 Access 左上角的图标,再点击[Access 选项]按钮:

  选择左侧的[启动],然后在右侧点击[Navigation Options...]按钮:

  在“导航选项”对话框中,勾选“显示系统对象”:

  三、输入 XML

  从[导航面板]打开 USysRibbons 表,插入一条新记录,在功能区Name 中输入“Main”,在功能区XML 字段中输入第一讲编写的 XML 的内容:

  这样,就将 XML 保存到了 USysRibbons 表中。在一个应用程序中可以设计多个功能区,每个功能区对应一条记录。它们可以应用在应用启动时、关联窗体和报表。

  四.应用自定义的功能区

  在 Access 2007 中文版中,其 ID 对应于 USysRibbons 表中的功能区Name,它在这个表中是唯一不可重复的。

  一、设置为启动应用程序时加载自定义的功能区

  在 Access 的选项设置中,设置其工具栏选项的自定义功能区ID,即可在应用程序启动时加载自定义的功能区。

  点击 Access 文件按钮-[Access 选项]-[启动],在右侧的工具栏选项下的[自定义功能区ID]的下拉列表中选择“Main”:

  二、设置关联窗体或报表的自定义功能区

  每个窗体和报表均可以有自己的功能区。在窗体和报表的设计状态,设置窗体或报表的“自定义功能区ID”,即可。

  这个窗体运行时,就会打开属于自己的功能区,如下图。

  关于 Access 自定义功能区的开发和使用已全部讲完

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3