VBA小白也学得会的Ribbon功能区
[图片上传失败...(image-8d8486-1694186605033)]
关于Ribbon功能区,估计很多人都见过或者听说过,但是一直保持着神秘感,总感觉很难的感觉,其实真的很简单。10分钟就能让你定制出来一个属于你个人的功能区。举个例子:
[图片上传失败...(image-cde4a0-1694186605033)]
[图片上传失败...(image-cb48b-1694186605033)]
[图片上传失败...(image-bfcf17-1694186605033)]
<>Ribbon功能区学习笔记</figcaption>
一、制作Ribbon功能区界面
■知识点一:认识功能区
[图片上传失败...(image-1727b9-1694186605033)]
<>功能区组件划分</figcaption>
■知识点二:写XML代码
这里自定义功能区,就是要把自己想要的界面用xml代码表示出来。
下面先给一个简单的xml代码框架
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="t1" label="Excel小白工具箱" >
<group id="Group1" label="我的工具">
<button id="button1" label="删除选区" imageMso="HappyFace" size="large" onAction="del"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
这里用的是Office自带的图标,这么写。imageMso="HappyFace",这个图标名称有专门的工具可以查。
如果想自定义图标,应该写成 image="图片名",图片名不要出现中文。
划重点:
这里只是最简单的xml代码,还有很多组件用到的时候再看课本,我觉得领进门就OK了,其余控件实例、图标查看器及下面使用的工具,请下载获取。
[图片上传失败...(image-6415c9-1694186605033)]
<来源于《VBA开发自学宝典(第三版)》>
■知识点三:使用工具压入代码
[图片上传失败...(image-797522-1694186605033)]
00:00 / 01:36
[图片上传失败...(image-d0d7a1-1694186605033)]
Custom UI Editor For Microsoft Office这个工具当然也可以作为自定义功能区代码的查看器。
比如给的一些自定义功能区例子,就可以用这个工具打开Excel文件来查看XML代码,为我所用。
[图片上传失败...(image-2217ce-1694186605033)]
<用Custom UI Editor For Microsoft Office来查看功能区代码>
二、功能区按钮执行Sub过程
前面说了自定义功能区界面,可以随心所欲的定制自己喜欢的界面。实际上我们定制这么好最终目的还是为了让这些按钮起作用,执行我们想要的操作。
我们只需要做两步:
1、对Sub过程指定control As IRibbonControl参数。
Sub del(control As IRibbonControl)
Selection.Delete
End Sub
以上代码为,对选中的区域执行删除操作,用我们上面制作的功能区按钮控制。
2、在XML代码中,用onAction参数指定Sub过程名。
<button id="button1" label="删除选区" imageMso="HappyFace" size="large" onAction="del"/>
我们想点击按钮执行del这个Sub过程,只需要在button的属性中添加onAction属性,并且值为Sub过程名。
效果如下:
[图片上传失败...(image-e4b7b2-1694186605033)]
三、升级为xlam格式加载宏
有人就要疑问了,如果定制成功了,只在这一个Excel文件有效。怎么实现让一打开Excel程序就加载我这个自定义功能区呢?
答案就是文件另存为xlam加载宏格式的文件。这个仅仅需要对Sub过程代码进行微调即可。
<评论:>
非常到位,要是第三条再展开说一下就更好了。
另存为xlam,在Excel加载项中加载后,即可实现打开任意Excel文件都有这个自定义Ribbon。