Access 12 中自定义 Ribbon (二)—— 编写回调函数

Access 12 中自定义 Ribbon (二)—— 编写回调函数

作者:朱亦文
日期:2006年8月25日

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

None.gif < customUI  xmlns ="http://schemas.microsoft.com/office/2006/01/customui"  onLoad ="onLoadRibbon" >

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

一、建立 Access 应用程序
新建一个数据库,命名为 Ribbon.accdb,导入 Northwind2007.accdb 数据库中所有对象(示例中要用一些对象)。按 Alt+F11 键进入 VBE。为了使用 Ribbon 对象,首先必须引用 Microsoft Office 12.0 Object Library

RibbonX-ref.jpg

二、建立模块

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

 1 None.gif Option  Compare Database
 2 None.gif Option   Explicit
 3 None.gif
 4 None.gif '  ------------------------------
 5 None.gif'  本模块包含 Ribbon 回调子程序
 6 None.gif'  ------------------------------
 7 None.gif
 8 None.gif Public  gobjRibbon  As  IRibbonUI
 9 None.gif
10 None.gif '  自定义 Ribbon 加载时事件处理
11 None.gif Public   Sub  onLoadRibbon(Ribbon  As  IRibbonUI)
12 None.gif     '  将自定义 Ribbon 对象设置为全局对象
13 None.gif     
14 None.gif     Set  gobjRibbon  =  Ribbon
15 None.gif End Sub

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

1 None.gif '  通过 Ribbon 中的 Tag 属性实现传递要打开的窗体
2 None.gif Public   Sub  onOpenFormEdit(control  As  IRibbonControl)
3 None.gif     '  以编辑方式打开窗体
4 None.gif     DoCmd.OpenForm control.Tag, , , , acFormEdit
5 None.gif End Sub

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

1 None.gif Public   Sub  onCloseDatabase(control  As  IRibbonControl)
2 None.gif    DoCmd.CloseDatabase
3 None.gif End Sub

下一讲,讲述创建存储 Ribbon XML 文件内容的数据表

转载于:https://www.cnblogs.com/zhuyiwen/archive/2006/08/25/486520.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值