YZ系列工具之YZ03:高版本Excel的自定义菜单

我给VBA下的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套+一部VBA手册,教程分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用;手册是为方便编程人员查找案例编写的。

对于初级及中级的学员,很想看到VBA的利用价值。也是对自己知识点的整合。我推出的YZ系列工具,可以让这个阶段的学员感受到VBA之强大。坚定自己学习VBA的决心。VBA工具共两个系列,一个是YZ系列,一个是NZ系列。YZ系列比较简单些,实用性强,可以在自己的工作中方方面面都可以利用到,今日给大家介绍的是YZ系列工具之YZ03:高版本Excel的自定义菜单5176ab87cc4bb568d9c4be3ac825b715.jpeg

【分享成果,随喜正能量】安住当下,用心生活,每一个日子都是幸福的起点。不负时光,不负自己,不枉此生! 。

YZ03:高版本Excel的自定义菜单

当我们在 Excel 97-2003 中使用 Application.CommandBars 创建菜单时,可以利用创建菜单和删除菜单的代码。在 Excel 2007 及更高版本中,我们可以使用 RibbonX 自定义功能区,这和上述过程是不同的,当关闭或停用工作簿时,它将自动删除我们的自定义。

Office RibbonX 编辑器为我们提供了用于在 Excel 工作簿中插入自定义功能菜单的功能(备注:Office RibbonX 编辑器的安装文件会随资料附带,学员可以安装;另外,在我的第10套教程中也提供了这个安装文件),在 Excel 2007 及更高版本中打开文件时为UI.xml文件,在 Excel 2010 及更高版本中打开 Excel 工作簿时为customUI14.xml 文件。

如果只使用 Office 2007自定义 UI 部件选项来添加 RibbonX,当在Excel 2007 及更高版本中打开Excel文件时,它将从此文件加载RibbonX。但是,如果在Excel2010及更高版本中打开Excel文件,并且还有一个customUI14.xml文件,它将仅加载customUI14.xml文件。

注意:无法将 RibbonX 插入到 Excel 97-2003(xls) 文件中。我们这个应用所讲解的也是仅针对97及以后的版本。

58790b6a2ec38b02251ebaff74555dfe.jpeg

一 Open the Office RibbonX Editor功能简介

我们先来简单介绍一下这个软性的功能,这个软件在这个应用中我已经提供,另外在我的第十套教程中随教程也已经提供,大家可以利用。

55e6937d4e5b6c02d86a9c9682218d7d.jpeg

1 打开命令:打开要编辑的 Excel 文件(确保它没有在 Excel 中打开)

2 保存命令:将 RibbonX 保存在您在 UI 编辑器中打开的文件中(在 Excel 中打开文件时无法保存)

3插入图标:在文件中插入您自己的图标(图标将保存在文件中)

4 验证:验证您的 RibbonX,以确保没有错别字

5 生成回调:这将为您RibbonX的每个 onAction 创建宏(回调)。 选择所有回调并将它们复制到工作簿的普通模块中。

6刷新文档:如果您在 Excel 中打开了文件,为确保您不会删除在外部打开的 Excel 文件中所做的更改,请在保存文档之前使用按钮重新加载文档。

二创建自定义菜单示例

在此示例中,我们将 RibbonX 添加到文件中,在 Excel 2007 及更高版本中打开文件时,该文件会在“主页”选项卡上创建一个按钮。我们将 RibbonX 添加到 customUI.xml文件(“Office 2007 自定义 UI 部分”)。

1:打开一个新工作簿并将其另存为myExcel.xlsm(启用 Excel 宏的工作簿)

2:关闭工作簿

3:在 Office RibbonX 编辑器中打开 myExcel.xlsm

4:右键单击 Office RibbonX 编辑器中的文件名或使用插入菜单

5:选择“Office 2007 Custom UI Part”创建customUI.xml文件

6:将下面的RibbonX粘贴到右侧窗口中

onAction="Macro1" imageMso="HappyFace" />

71b2e9465c432aebfea937850cffc69b.jpeg

7:在 Office RibbonX 编辑器中保存您的更改(单击保存按钮)

8:关闭编辑器

9:在 Excel 中打开文件

10:Alt+F11(要记住这个快捷键,在后文中屏蔽菜单时,可以用这个快捷键进入VBE)

11:插入模块

12:将下面的宏复制到模块中

Sub Macro1(control As IRibbonControl)

   MsgBox "Hi There"

End Sub

5d7df02ee1d572577e26a6a4a64d3425.jpeg

13:点击VBA编辑器中的保存按钮

14:使用 Alt+Q 关闭 VBA 编辑器

15:在 2007 年和/或 2010 年及以上测试工作簿

2f30e31c9c094df9b98308938facfccd.jpeg

87197039c34a9581fb86b983fd37691a.jpeg

三在内置选项卡中添加自定义组

实现这个功能是我提供的myExcelA.XLSM文件,正确加载后,会在“主页”选项卡的末尾看到一个新组“Group1”,如下截图:

bc7c352bb6f9c840d3178da2e10bb511.jpeg

我们点击任意一个按钮会有下面的提示:

7fc95df3142a977d779450cd91b7b3c9.jpeg

如果我们用Office RibbonX 编辑器打开该文件,我们会看到自定义RibbonX的 CustomUI。

因为此示例中的 RibbonX for Excel 2007 和 Excel 2010-2016 之间没有区别。我们只能为我们的 RibbonX 使用 customUI.xml 文件。Excel 2010-2016打开文件时如果没有 customUI14.xml 文件,它会从 customUI.xml 文件加载 RibbonX。

如果我们要利用这个自定义RibbonX,可以在标准模块代码中修正我们的代码,我一共给出了8个命令,可以供用户添加与修正。

四自定义收藏组按钮的选项卡

实现这个功能的是我提供的myExcelB.xlsm文件,如果加载正确,会在主页选项卡旁边看到一个新选项卡“个人收藏”。如下截图:

ba745bf3dfee542cf8f70ba0b9dd81be.jpeg

如果我们用Office RibbonX 编辑器打开该文件,我们会看到自定义RibbonX的 CustomUI。

因为此示例中的 RibbonX for Excel 2007 和 Excel 2010-2016 之间没有区别。我们只能为我们的 RibbonX 使用 customUI.xml 文件。Excel 2010-2016打开文件时如果没有 customUI14.xml 文件,它会从 customUI.xml 文件加载 RibbonX。

五添加自定义选项卡

实现这个功能的是我提供的myExcelC.xlsm文件,如果加载正确,会在主页选项卡旁边看到一个新选项卡“我的菜单”。如下截图:

150fc53b8333b18457704011564ff996.jpeg

菜单中我提供了8个过程可以供给用户添加。

如果我们用Office RibbonX 编辑器打开该文件,我们会看到生成自定义RibbonX的 CustomUI。

因为此示例中的 RibbonX for Excel 2007 和 Excel 2010-2016 之间没有区别。我们只能为我们的 RibbonX 使用 customUI.xml 文件。Excel 2010-2016打开文件时如果没有 customUI14.xml 文件,它会从 customUI.xml 文件加载 RibbonX。

六屏蔽所有内置选项卡

实现这个功能的是我提供的myExcelD.xlsm文件,如果加载正确,当我们打开文件时,会看到如下截图:

bc7c2fd3c3011ece900172883f1cdfad.jpeg

是不是非常的干净,此时所有内置功能区选项卡和 QAT(间备注解释) 在 2007 或 2010-2016 消失。

并且在 2007 的 Office 按钮菜单中,只会看到“最近的文档”,在 Excel 2010-2016 中,如果没有使用 RibbonX 添加控件的加载项,则为空。

如果用CustomUI 编辑器中打开文件,会看到 Excel 2007 的 customUI.xml 的 RibbonX及 Excel 2010-2016 的 customUI14.xml RibbonX。

如果在 Excel 2007 中打开文件,它会从 customUI.xml 加载 RibbonX,如果在Excel 2010-2016 它将从 customUI14.xml 文件加载 RibbonX。

备注:QAT:Quick Access Toolbar 快速访问工具栏

七使用定制的菜单标签

实现这个功能的是我提供的myExcelE.xlsm文件,如果加载正确,当我们打开文件时,会看到如下截图:

305017de72352e1dfc661ad54eea7563.jpeg

当我们点击“Caption”命令:

11bc23b58bad4e21a87fd642c0d0ec87.jpeg

这对于我们利用EXCEL作为开发主界面,是不是非常的方便呢?

这个程序如果正确加载,所有内置功能区选项卡和 QAT 在 2007或 2010-2016消失,并且在 2007 的 Office 按钮菜单中,您只会看到“最近的文档”,在 Excel 2010-2016 Backstage (File) 中,如果没有使用 RibbonX 添加控件的加载项,则为空。Backstage(File) 没有“startFromScratch”选项,以确保所有内容都像功能区一样隐藏。

如果在 CustomUI 编辑器中打开文件,会看到Excel 2007 的 customUI.xml 文件的 RibbonX以及Excel 2010-2019中 的 customUI14.xml 的 RibbonX。

此文件如果在 Excel 2007 中打开,它会从 customUI.xml 加载 RibbonX,如果在

Excel 2010-2016打开它将从 customUI14.xml 文件加载 RibbonX。

八对选项卡命令的屏蔽

这个应用中我给出了选项卡命令的屏蔽方案,实现这个功能的是我提供的myExcelF.xlsm文件,我们先看一下正常一个文件打开的主页选项卡:

0acb39a04140fec2057b24fab4d596b4.jpeg

如果myExcelF.XLSM加载正确,当我们打开文件时,会看到如下截图:

7f95afeb554512da63c34612e4441f4e.jpeg

是的,这个作用是屏蔽了一些命令。在 Excel 2007-2016 中,它禁用 Office 按钮中的“另存为”按钮;禁用主页选项卡上对齐组中的“合并单元格”菜单;隐藏了功能区中的“插入”选项卡;隐藏了主页选项卡上的“字体组”。而且,在“主页”选项卡上单击“粘贴”时正确,它将在此工作簿中运行宏“MyPasteMacro”

如果在 CustomUI 编辑器中打开文件,会看到 Excel 2007 的 customUI.xml 文件中的 RibbonX及 Excel 2010-2016 中 customUI14.xml的 RibbonX。

如果在 Excel 2007 中打开文件,它会从 customUI.xml 加载 RibbonX,如果在

Excel 2010-2016 它将从 customUI14.xml 文件加载 RibbonX。

当然这个应用只是屏蔽了部分按钮给大家一个实例,学员可以根据自己的需要进行必要的开发。

【分享成果,随喜正能量】

【分享成果,随喜正能量】

ceb69e44df54e0dfa7449477552f5557.jpeg

8e0270ec8ea922b48eef7c502e872839.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/239725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于游戏性能优化的技巧

关于游戏性能优化的技巧 游戏性能优化对象池Jobs、Burst、多线程间隔处理定时更新全局广播缓存组件缓存常用数据2D残影优化2D骨骼转GPU动画定时器优化DrawCall合批处理优化碰撞层优化粒子特效 游戏性能优化 好久没有在CSDN上面写文章了,今天突然看到鬼谷工作室技术…

docker部署mysql主主备份 haproxy代理(swarm)

docker部署mysql主主备份 haproxy代理(swarm) docker部署mysql主主备份 docker部署mysql主主备份(keepalived)跨主机自动切换 docker部署mysql主主备份 haproxy代理(swarm) 1. 环境准备 主机IPnode119…

WSL移动ubuntu到其他盘的几个问题以及安装,使用过程中遇到bug记录

这里写目录标题 无法正常修改Ubuntu系统的默认用户解决方案1:解决方案2: 出现 id xxx no such userGUI不能正常显示 无法正常修改Ubuntu系统的默认用户 ubuntu移动到其他盘可以参考WSL Ubuntu子系统迁移到非系统盘 下面问题是我安装时遇到的&#xff0c…

with torch.no_grad()在Pytorch中的应用

with torch.no_grad()在Pytorch中的应用 参考: https://blog.csdn.net/qq_24761287/article/details/129773333 https://blog.csdn.net/sazass/article/details/116668755 在学习Pytorch时,老遇到 with torch.no_grad(),搞不清其作用&#…

Linux内核模块文件组成介绍

Linux驱动开发主要的工作就是编写模块,一个典型的Linux内核模块文件.ko 主要由以下几个部分组成。 模块加载函数(必须) 当通过insmod或modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成本模块的相关初始化工作。 Linux内核模…

MyBatis关联查询(二、一对多查询)

MyBatis关联查询(二、一对多查询) 需求:查询所有用户信息及用户关联的账户信息。 分析:用户信息和他的账户信息为一对多关系,并且查询过程中如果用户没有账户信息,此时也要将用户信息查询出来&#xff0c…

竞赛保研 基于GRU的 电影评论情感分析 - python 深度学习 情感分类

文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于GRU的 电影评论情感分析 该项目较为新颖,适合作为竞…

msyql 24day 数据库主从 主从复制 读写分离 master slave 有数据如何增加

目录 环境介绍读写分离纵向扩展横向扩展 数据库主从准备环境主库环境(master)从库配置(slave)状态分析重新配置问题分析 报错解决从库验证 有数据的情况下 去做主从清理环境环境准备数据库中的锁的机制主库配置从库配置最后给主库解锁常见错误 环境介绍 将一个数据库的数据 复…

20Exchange第一轮空投延续铭文热-Meme热潮褪去后的选择

“凌晨1点打iotx铭文,凌晨2点打Tia铭文,凌晨3点打inj铭文,凌晨4点 打op铭文……”这个在社交网络上广为转发的贴文,浓缩了Web3用户对铭文市场的狂热。 从12月开始,铭文这种比特币等区块链网络铸造加密资产&#xff08…

从0到1部署gitlab自动打包部署项目

本文重点在于配置ci/cd打包 使用的是docker desktop 第一步安装docker desktop Docker简介 Docker 就像一个盒子,里面可以装很多物件,如果需要某些物件,可以直接将该盒子拿走,而不需要从该盒子中一件一件的取。Docker中文社区、…

零基础制作宠物用品小程序

随着人们对宠物用品的需求不断增长,越来越多的人开始探索如何制作一个专业的宠物用品小程序。而乔拓云作为一款功能强大的在线商城制作工具,成为了许多商家的首选。本文将详细介绍如何使用乔拓云制作宠物用品小程序,让你轻松上手,…

集合论:二元关系(1)

集合论这一章内容很多,重点是二元关系中关系矩阵,关系图和关系性质:自反、反自反、对称、反对称、传递以及关系闭包的运算,等价关系,偏序关系,哈斯图,真吓人! 1.笛卡儿积 由两个元素x和y按照一…

伽马校正:FPGA

参考资料: Tone Mapping 与 Gamma Correction - 知乎 (zhihu.com) Book_VIP: 《基于MATLAB与FPGA的图像处理教程》此书是业内第一本基于MATLAB与FPGA的图像处理教程,第一本真正结合理论及算法加速方案,在Matlab验证,以及在FPGA上…

【开源工程及源码】超级经典开源项目实景三维数字孪生智慧机场

智慧机场可视化平台通过可视化手段,将复杂的机场运营数据以图形、图表等形式展现,使管理者能够更直观、实时地了解机场的各个方面。飞渡科技通过整合物联网IOT、人工智能、大数据分析等技术,围绕机场管理、运控、安防、服务、监测等业务领域&…

Java设计模式-原型模式

目录 一、克隆羊问题 二、传统方式解决 三、基本介绍 四、浅拷贝和深拷贝 (一)浅拷贝介绍 (二)深拷贝 五、原型模式深拷贝 (一)重写clone方法 (二)对象序列化 六、注意事项…

扩展检测和响应:零信任安全的核心要素

面对不断增长的攻击面,扩展和增强威胁检测和响应能力是XDR在安全功效方面的主要结果。这一成果不仅有助于全面保护,而且有助于更好地实施零信任安全。 默认情况下,这种方法不信任任何用户或任何设备,只允许访问需要的资源。为了更…

【OCR识别】PaddleHub实现验证码识别

文章目录 前言无脑安装使用PaddleHub寻找预训练模型库完整代码效果图 前言 前面有篇文章介绍了 【网站验证码识别】 ,但是其是利用 tesseract 工具的命令行来实现图片内容的识别。 这几天我突然想起,大学时参加百度 AI 比赛用过其 PaddleHub 框架&…

Kubectl 部署无状态应用

基本概念 无状态服务 无状态服务不会在本地存储持久化数据。多个服务实例对于同一个用户请求的响应结果是完全一致的。这种多服务实例之间是没有依赖关系,比如web应用,在k8s控制器中动态启停无状态服务的pod并不会对其它的pod产生影响。 有状态服务 有状…

Web自动化测试工具的优势分析

Web自动化测试工具在现代软件开发中扮演着关键的角色,帮助团队确保Web应用程序的质量和稳定性。然而,选择合适的Web自动化测试工具对项目的成功至关重要。本文将介绍Web自动化测试工具优势是什么! 1. 自动化执行 Web自动化测试工具能够模拟用户的行为&am…

基于博弈树的开源五子棋AI教程[4 静态棋盘评估]

引子 静态棋盘的评估是棋力的一个很重要的体现,一个优秀的基于博弈树搜索的AI往往有上千行工作量,本文没有做深入讨论,仅仅写了个引子用来抛砖引玉。 评估一般从两个角度入手,一个是子力,另一个是局势。 1 评估维度 …