VBA小白也学得会的Ribbon功能区

2023-09-11  本文已影响0人  极客Geek

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。

上一篇下一篇

猜你喜欢

热点阅读