cusutomui用于给写好的vba功能在选项卡里加按钮,加好按钮后再在vba里进行回调,其基本参数如下。excel文件建议保存为.xlsm或xlsm格式。
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<!--命名空间。xml需要区分大小写-->
<ribbon startFromScratch="false">
<!--ribbon元素代表功能区-->
<tabs>
<!--tabs代表所有选项卡的合集-->
<tab id="customTab" label="自制工具" insertBeforeMso="TabHome">
<!--tab,命名自定义选项卡名称,每一个组件或按钮必须有唯一的ID(标识符),引用时注意区分大小写
insertBeforeMso和insertAfter确定选项卡的位置-->
<group id="customGroup" label="第一组">
<!--group,确定自定义分组组名,id为引用时用的名称,label为显示的名称-->
<button id="customButton"
label="我的按钮"
imageMso="HappyFace"
size="large"
supertip="提示信息"
screentip="提示框标题"
keytip="p"
onAction="Callback1"/>
<!--可以换行,
id,按钮名,
label,显示的名称,
size,有两种格式,large和normal,默认为小图标,
imageMso为图标,图标可以设置为16*16或32*32像素的PNG图片,
supertip="提示信息",
screentip="提示框标题",
keytip="p",设置快捷键,注意区分大小写,
onAction,回调函数名称,vba的钩子-->
</group>
<group id="customGruop2" label="第二组">
<menu id= "menu1" label="一级菜单" >
<!--menu为分级菜单,会有一个下拉小三角。-->
<button id="customButton2" label="按钮1" onAction="cB_Click" />
<button id="customButton3" label="按钮2" onAction="cB_Click" />
</menu>
<separator id="fengexian" />
<!--设置分割线-->
<button id="customButton4" label="按钮4" onAction="cB_Click" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
以上部分在customui中编写。
以下部分在VBE中编写。
'Callback for customButton onAction
Sub Callback1(control As IRibbonControl)
'vba代码写在这里。也可以用Call调用写好的vba程序。
'Callback1在customui里的onAction中设置。
End Sub
显示效果如下:

本文介绍了如何使用Excel VBA的CustomUI功能在VBA宏中添加自定义选项卡和按钮,并详细阐述了相关参数设置。通过CustomUI编辑器创建界面元素,然后在VBE中编写回调函数,最终实现交互效果。

4869

被折叠的 条评论
为什么被折叠?



