Office中国论坛/Access中国论坛
标题: 自定义功能区三板斧(二):鬼剔牙 [打印本页]
作者: roych 时间: 2015-12-22 13:27
标题: 自定义功能区三板斧(二):鬼剔牙
本帖最后由 roych 于 2015-12-29 09:11 编辑
剔牙,当然是一个精细活儿了。鬼剔牙,那更是鬼斧神工,从细节上来“剔牙”了。所以,这一招对应的是分析代码,从根本上为大家解惑。
现在,就让我们一步步理解上一节贴出的代码吧。
XML是一种以树结构进行组织数据的,而且相对严格的语言,对大小写敏感。依次展开节点,得到一个这样的结构:
customUI> ribbon> tabs>tab> group
一般来说,树结构数据是除了根节点之外,其它树节点都是可以有兄弟节点(即存在并列结构)的。而这段代码中,我们却只能修改的是tab节点以及其子节点、孙节点,增加ribbon或tabs节点,则会导致无法正常工作(即保持原有设置,而无法自定义功能区)。
不过这很容易理解:我们可以根据需要选择不同的功能区(这将在后面解释),但每次只能使用一个功能区来显示。因此,如果存在多个ribbon的节点,意味着什么呢?一个文件可以同时显示多个功能区,这显然不符合逻辑了。tabs更不用说,一个tabs集合只能被一个功能区所包含了。
也就是说,我们可以通过增加不同的tab选项卡,然后再对每个选项卡分成多个组别,最后在每个组别上增加控件(即上文所述的孙节点)来完成操作。
接下来,我们简单解释下XML代码里的一些属性【里面所有属性值必须加上双引号】:
名称 | | |
| | |
| | 忽略startFromScratch属性,或者指定为false表示在默认功能区上创建自定义功能区,否则表示新建空白功能区。 |
| |
|
| |
|
| |
|
| | 通过指定onAction属性值来执行宏或回调函数。 |
| |
|
| |
|
| | 对于自定义功能区,Tab及其子孙节点须以id属性值来标志,命名规则:以英文字符开头且不能包含特殊字符。 |
| | |
| | |
| | |
| | |
| |
|
| | 值为true或false,可用于用户权限分配或者条件执行程序 |
| | |
注意:XML是一种相对严格的语言,对大小写敏感,因此使用上述表中的名称时请不要改动。
了解这些属性之后,我们再回头看看这段代码【出于篇幅,这里不列出全部代码】。
- <ribbon startFromScratch="false">表示在原有的功能区上创建自定义功能区(其实这里是对原有的功能区进行修改)
- <tab idMso="TabHomeAccess" visible="false">----表示隐藏“开始”选项卡
- <tab idMso="TabExternalData" visible="true">
- <group idMso="GroupExport" visible="false">----隐藏“外部数据”中的“导出”组。
复制代码很显然,默认情况下,原有功能区都是可见的。下面,就让我们来验证下,是不是这样:
点击选项/当前数据库/功能区和工具栏,在下拉菜单中选择“test”。
[attach]57600[/attach]
然后按提示关闭当前数据库,再打开一次。“开始”选项卡以及“导出”组果然不见了。
现在问题来了:如果把startFromScratch的属性改为true,会发生什么情况呢?(请先自行思考,答案回复可见)
这时候,可能有人会问了:“TabHomeAccess”,“TabExternalData”之类的属性值是怎么找到的?Roych当然记不住那么多名称了,所以在这里就提供一个好办法给大家:
还记得上一个帖子么?不记得的翻一下,看看第一张图,“确定”的左上方是不是有一个“导入/导出”……我相信,聪明的版友应该知道怎么做了。
导出的文件是以exportedUI为扩展名的文件,请用记事本打开试试看?这些代码是不是跟我们之前的XML代码很像?
————————2015-12-29增加测试附件
[attach]57755[/attach]
上一篇 下一篇
作者: leonshi 时间: 2015-12-22 14:33
厉害
作者: yanwei82123300 时间: 2015-12-22 15:15
谢谢分享!!
作者: XMX64311 时间: 2015-12-22 15:50
谢谢分享
作者: 764300778 时间: 2015-12-22 20:36
eeee
作者: 天涯沦落20131 时间: 2015-12-23 14:17
111111
作者: 天涯沦落20131 时间: 2015-12-23 16:55
我刚用access2007做了测试不知是我理解不够还是方法不对!功能未实现!
作者: xiaowuo2 时间: 2015-12-23 17:14
对07与2010等版本,那个界面看了实在头痛,明明有很强的学习冲动,但经常做了一半后,因为界面的繁锁又扔一边不学了,唉,现在继续用着03版的
作者: roych 时间: 2015-12-23 17:26
2007可以用的。可能CustomUI那一行的链接改为再试试:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
具体可以在“选项/自定义功能区/导入导出”里面导出功能区看看里面的设置。
作者: purplerose 时间: 2015-12-23 21:13
ROYCH 历害呀,没有想到除了技术过硬 ,文彩也不在话下呀, 值得学习一下!
作者: 老鬼 时间: 2015-12-28 15:51
好久没来学习了
作者: 轻风 时间: 2015-12-29 08:45
鬼剔牙![](static/image/smiley/default/titter.gif)
作者: wenbin_zheng 时间: 2016-1-5 11:18
厉害
作者: gxstudent 时间: 2016-4-5 16:53
学习!
作者: 522650696 时间: 2016-4-14 15:57
太厉害了。。。
作者: yedaoan 时间: 2016-5-2 10:22
好东西,应该多看看
作者: 飘过 时间: 2016-8-31 16:31
看看
作者: 无锡大山 时间: 2016-11-17 15:54
好的
作者: access新新新手 时间: 2017-7-19 08:52
谢谢分享
作者: xuwenning 时间: 2017-7-20 10:18
学习了
作者: qtx 时间: 2017-7-23 00:01
不错啊,了解了解!
作者: huanghai 时间: 2018-4-4 14:18
学习了
作者: huanghai 时间: 2018-4-4 14:18
学习了鬼剔牙
作者: huanghai 时间: 2018-4-4 14:18
学习了,鬼剔牙。![](static/image/smiley/default/smile.gif)
作者: ttkxssry 时间: 2019-6-13 16:44
想看看结果呢
作者: herry2003aa 时间: 2019-10-20 10:31
顶一个,确实是好东西,正需要!
作者: hello_access 时间: 2020-5-13 18:28
学习
作者: sunny2009110 时间: 2021-6-10 10:03
楼主厉害,谢谢分享!
作者: wuheng 时间: 2021-11-13 12:19
学习学习~~~
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |