ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 110792|回复: 123

[分享] Ribbon 开发利器-Ribbon Commander

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2015-7-10 16:05 | 显示全部楼层 |阅读模式
一、引子
曾几何时,Office 2003时,经典的菜单开发,几乎已成定式。VBA中,廖廖数行代码,所见即所得的菜单、按钮和FaceId,尽现眼前。更有甚者,如Word中的自定义菜单,可不用一兵一卒一行代码,即可完成自定义菜单项,一个爽字即可概而括之。
然时代在变迁,Office在发展。自Office 2007以后,Menu已被Ribbon不可逆转的颠覆了。从熟悉Office开发者的角度而言,这是一种痛。我也曾彷徨过,也曾迷茫过,但终究得接受。便将Custom UI Editor和细品RibbonX牢牢收藏,时不时温过而知新。玩过Custom UI的朋友都知道,重命名为"*.zip"文件,解压缩到customUI.xml或者customUI14.xml,修改其中的xml代码,尤其是中文字符串,保存后再添加(覆盖)到zip文件中,还原文件名,使用Custom UI Editor检查xml代码是否有效,反反复复,相当麻烦。如果直接在Custom UI Editor中编辑xml代码而同时又打开了这个xlsm文件时,如果保存了xml代码,晕死,刚才在VBA中所作的更改又没了!
作为专业的VBA程序员,我曾开发过一个项目,Ribbon功能区代码相对比较复杂,CustomUI.xml代码约130行,VBA中的回调代码约为400多行,其间少不了N多的模块级变量,UI如图 1所示:

图 1 UI截图

图 1 UI截图
1 UI截图
在这个CustomUI中,涉及的RibbonX有:Box,dropDown,labelControl,gallery,button,separator,checkBox,comboBox,dialogBoxLauncher,menu,menuSeparator等十数种,在Custom UI Editor中,又没有自动列出成员功能,只能一遍一遍翻着"细品RibbonX",翻多了,也便成了专家了。一把泪水和汗水,和成了我们现在看到的这个UI。至于imgMso,更是众里寻他千百度,以至于后来终于下定决心,开发了一个imageMso.xlam的加载宏以便检索内置图标,因与主题无关,便不展开了。
曾几何时,特别希望,有没有这样一个工具,能像Command一样的类,直接在VBA中调用多好啊!省得来回倒腾,可以少走多少冤枉路啊!
记得哲人说过这样一句话,"上帝关上一扇门,同时也会为你打开一扇窗"。所谓万水千山,峰回路转。偶然的机会,我们等到了本文的主人公:Ribbon Commander。
欲知后事如何,且待下文分解。

评分

9

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-4-6 12:44 | 显示全部楼层
守柔 发表于 2015-7-10 16:06
二、自定义功能区的实例对照
以下代码用于比照Excel 2003中的菜单开发,Excel 2007中自定义功能区的开发以 ...

老师您好!
请你帮忙:下面是我录制的宏的内容,单独运行没有问题。
    Sheets("成绩查询").Select
    Range("AA5:AA69").Select
    Selection.Copy '复制文本
    Range("Z5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=F
alse, Transpose:=False '粘贴数值
    Range("Z5").Select
可是我加一个工作表事件,为什么就运行不了?
Private Sub Worksheet_Change(ByVal Target As Range) '工作表触发事件
    Set Myrng = Range("A1")   
    Sheets("成绩查询").Select
    Range("AA5:AA69").Select'老是从这个地方开始卡住了
    Selection.Copy '复制文本
    Range("Z5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False '粘贴数值
    Range("Z5").Select
End Sub

TA的精华主题

TA的得分主题

发表于 2023-3-31 10:23 | 显示全部楼层
下载学习下,感谢!!!!!!

TA的精华主题

TA的得分主题

发表于 2023-3-7 19:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-8-2 22:06 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-11-29 09:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-9-11 17:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
image.png
里面的产品怎么装不上呢?提示连接失败?从网上只能找到V1.1.232,官网提示最新是V1.1.247,是版本旧的缘故吗?谁有最新版呢?

TA的精华主题

TA的得分主题

发表于 2021-8-31 17:16 | 显示全部楼层
生成的RIBBON工具栏中, Large的按键Label在下方显示, normal的按钮Label在右方显示.
那能不能让normal的按钮Label也显示在下方呢?或者不显示呢?(label=" "这个其实是占用显示空间的)

TA的精华主题

TA的得分主题

发表于 2021-5-7 14:54 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-5-3 07:27 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-5 01:43 , Processed in 0.041511 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表