Office中国论坛/Access中国论坛

标题: 自定义功能区三板斧(一):劈脑袋 [打印本页]

作者: roych    时间: 2015-12-22 13:24
标题: 自定义功能区三板斧(一):劈脑袋
本帖最后由 roych 于 2015-12-23 09:16 编辑

       据我所知,早在Office2007推出来没多久,朱总(zhuyiwen)就对进行了Access 2007的自定义功能区进行了深度研究[,感兴趣的版友应该可以在中国博客园里找到他写的系列文章。不过他没有在论坛里发布较为浅显的系列教程,所以我还是决定写一个较为系统的教程,让大家对自定义功能区有个整体的认识。按计划,是打算写成三个帖子,逐步深入讲解,是以称为“三板斧”。
    第一式:劈脑袋。
    劈脑袋,是一个简单直接的招式,直来直去,一点花样都不耍。正如我们从根本出发,来体会自定义功能区的实际运用一样。

下面以Access 2013版本为例,让我们一步步学习如何使用自定义功能区。点击“文件/选项/自定义功能区”,我们可以在右侧看到一个“主选项卡”。
我们先把里面默认的勾选全取消掉:
[attach]57596[/attach]
结果发现原先默认的“开始”“创建”“外部数据”等功能区全部不见了,只剩下一个“文件”选项卡。
[attach]57597[/attach]
这时候,如果你再打开别的文件,你会发现这些文件同样也是这样显示的。
显然,这种做法是对整个软件的功能区的更改。这当然不是我们所想要的了:你愿意分发软件时逐个电脑去修改设置,而且还可能因为限制用户使用设置而备受诟病么?
那怎么才能设置单个文件呢?使用XML代码来设置。
和Word、Excel不同的是,Access并可以不必创建和加载XML文件,而是使用一个更加简单的方法,创建一张表用来保存功能区信息,重新加载后再指定该功能区名称即可。
现在,我们先来创建一个表,字段设置如下:
字段名称 字段类型字段长度
ID 自动编号
RibbonName 短文本(其它版本为“文本”) 255
RibbonXML 长文本(其它版本为“备注”)
把以下XML代码输入RibbonXML字段内:
  1. <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  2. <ribbon startFromScratch="false">
  3. <tabs>
  4. <tab idMso="TabHomeAccess" visible="false">
  5. </tab>
  6. <tab idMso="TabExternalData" visible="true">
  7. <group idMso="GroupExport" visible="false">
  8. </group>
  9. </tab>
  10. </tabs>
  11. </ribbon>
  12. </customUI>
复制代码
接下来在RibbonName字段里输入一个名称:test。如果这名称有什么要求的话,那就是必须要输入点什么,英文、数字、汉字以及特殊字符都可以。这都快接近Roych的择偶标准的了:女的,活的……真是简单粗暴啊!——不过尽管如此,出于兼容性的考虑,还是建议大家使用一些有意义的英文名称吧。
完成之后,我们将它命名为:UsysRibbons
正常情况下,这时候,诡异的事情应该就出现了:这个表就像变魔术一般不见了
为什么?因为usys开头的表都会当做系统对象表来看待,而默认情况下,系统对象是不可见的。知道这个原因之后,找出来就很方便了。点击文件/选项/当前数据库/导航选项,勾选“显示系统对象”即可显示出来了。[attach]57601[/attach]
当然,同时显示的还有一些以MSys开头的系统对象。
下一篇






作者: josam    时间: 2015-12-22 13:26
赞赞赞赞赞赞赞赞赞
作者: tmtony    时间: 2015-12-22 14:00
赞一个。并加分了
作者: tmtony    时间: 2015-12-22 14:03
其实 Access与Excel 的Ribbon 也非常类似。
我是先做了Excel 的Ribbon(刚好帮客户开发一个加载宏),反过来做Access的Ribbon。
Ribbon的静态设置还是比较方便,便要动态改变 就有些麻烦了,不像 以前的菜单那么方便
作者: roych    时间: 2015-12-22 14:08
tmtony 发表于 2015-12-22 14:03
其实 Access与Excel 的Ribbon 也非常类似。
我是先做了Excel 的Ribbon(刚好帮客户开发一个加载宏),反过来 ...

excel是不能通过表来处理,需要写XML文件或者通过别的办法加载XML数据进来才能自定义功能区了。
作者: 方漠    时间: 2015-12-22 15:26
赞一个, 学习了, 还在用2010的飘过.
作者: tmtony    时间: 2015-12-22 16:47
roych 发表于 2015-12-22 14:08
excel是不能通过表来处理,需要写XML文件或者通过别的办法加载XML数据进来才能自定义功能区了。

Excel实际是一个zip文件
作者: 764300778    时间: 2015-12-22 20:35
eeee
作者: 风中漫步    时间: 2015-12-23 17:17
择偶标准不能过高,是女人能生孩子就行
作者: todaynew    时间: 2015-12-24 11:51
没用过2007
作者: ly    时间: 2015-12-25 21:40
点赞!向老师学习了!
作者: 老鬼    时间: 2015-12-29 08:09
简单明了,第一次看有关Ribbon,看懂了,点赞
作者: access新新新手    时间: 2016-3-8 09:13
谢谢分享!
作者: access新新新手    时间: 2017-7-19 08:48
谢谢分享




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3