本文介绍: 接纳并理解生命的局限性,也正是因为有局限,我们才有了成长的空间,找到内心深处存在的匮乏和阻碍,遇到自己不擅长的事,不执着,不对抗,平和的接纳自己短板,或是努力去弥补短板,或是乐观的承认短板存在,有针对性的完善自己,调整自己,做真实愉悦自在的自己。中将命令逻辑分组,将最常使用命令放到用户最容易看到的地方且以最醒目的方式显示,将以前深藏的或难以找到的功能移到了界面上,大大增强了命令的可访问程度;20%的功能,而这20%的功能对于特定的用户来说可能又各自不同,在Excel 2003中,

《VBA高级应用30例》(版权10178985),是我推出的第十套教程教程是专门针对高级学员在学习VBA过程提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用教程的目的是要求大家在实际工作分发VBA程序,写好的程序可以升级

本套教程共三册三十个专题,VBA高级应用30例:Ribbon功能区)的介绍3d179606e50d1f133b4672ea440d9b77.jpeg

分享成果,随喜正能量】面对不擅长的事,不要死磕,接纳自己有力所不及的地方。接纳并理解生命的局限性,也正是因为有局限,我们才有了成长的空间,找到内心深处存在的匮乏和阻碍,遇到自己不擅长的事,不执着,不对抗,平和的接纳自己短板,或是努力去弥补短板,或是乐观的承认短板存在,有针对性的完善自己,调整自己,做真实愉悦自在的自己。。

应用1在EXCEL中构建加载

5Ribbon功能区)的介绍

在Office的发展历程中,07版之前的版本我们称之为低版本,到07版及之后我们称之为高版本,低版本中的菜单命令结构存在诸多不便,这就导致了在高版本Ribbon的诞生。

5e08d2225df65136b65019ea649e6fa1.jpeg

对EXCEL及WORD比较熟悉的朋友知道:在Ribbon中将命令逻辑分组,将最常使用命令放到用户最容易看到的地方且以最醒目的方式显示,将以前深藏的或难以找到的功能移到了界面上,大大增强了命令的可访问程度;Ribbon始终固定在屏幕上方,不能随意定制,因而界面是固定的,不会因某些操作而造成混乱。如果要定制Ribbon,则需要编程第三方工具,且需要理解XML及其规则

一般来说,大多数用户使用软件20%的功能,而这20%的功能对于特定的用户来说可能又各自不同,在Excel 2003中,我们可以根据自已的喜好自定义菜单工具栏,方便自已使用最常用的功能。在Excel 2007中,如果不使用RibbonX,则只能在快速访问工具栏(QAT)中添加自已常用的命令

由于不能随意定制,因此命令不总是能按照某人所需要顺序随意排列。有时,实现一项任务可能需要时间单击不同的选项卡,使用不同组中的命令。

其实我们在高版本的office中也可以实现自定义Ribbon,只是只能在设计时,而不是在运行时,通常不能动态添加选项卡、组或控件。同时我们也很容易移除定制的Ribbon,只要文档中不包含定制Ribbon的代码,都将恢复默认的Ribbon界面。而不像以前版本的Office自定义菜单和命令栏后难以恢复,尤其对于新用户。并且,除了加载项、全局模板外,在某文档中的Ribbon定制不会影响新文档的Ribbon。

6自定义RibbonX(功能区)的实现

为了实现本专题加载项的要求我们要实现功能区的定制,这里我利用了一个Office RibbonX Editor第三方软件来实现(这个软件会随教程提供),这里我只是列出实现本专题要求的代码部分,只是介绍,有兴趣的朋友可以通过其他途径学习打开软件后,选择自定义功能区的文件

d3add11a82638fe2f3c7b230351cf327.jpeg

然后录入下面的代码

                        getItemCount=”mynzSheetToolsbtnSheets_Count”

                        getItemLabel=”mynzSheetToolsbtnSheets_getItemLabel

                        onAction=”mynzSheetToolsbtnSheets_Click

                        sizeString=”MMMMMMMMM”

                        label=”Sheets”

                        getSelectedItemIndex=”mynzSheetToolsbtnSheets_getSelectedItemIndex

                    />

                    label=”Table Of Contents”

                    size=”large”

                    onAction=”mynzSheetToolsbtnInsertToc

                    imageMso=”CustomTableOfContentsGallery” />

代码截图

65ae194d2ac474a4229788b439d2ca45.jpeg

最后保存

代码的简单介绍:在这个xml中看到的项数是所谓的回调。这意味着Excel希望在相关工作簿中使用VBA代码。xml包含以下回调(callbacks):

①onLoad加载工作簿时调用

getItemCount(返回下拉控件项目数)

getItemLabel获取下拉列表的第n个项目)

④onAction(单击按钮或进行下拉选择调用

⑥GetSelectEditedIndex(调用获取下拉表中需要选择的项)

l在上述代码中有些复杂过程名称(如“mynzpsheettoolsbtnssheets_Click”)。尤其是“mynzSheetTools”部分。在Excel实例中,回调名称必须是唯一的,是独一无二的。在Excel中打开的任何其他工作簿的子名称都不能与任何回调一致。否则,可能会导致其他工作簿中的例程被功能区调用!这就是为什么我在例程名称前面加上一些唯一标识包含RibbonX代码的工作簿前缀的原因。

我们要完成的各项任务罗列如下这里只是罗列了任务,我们将在代码实现时填充代码):

Sub mynzSheetToolscustomUI_onLoad(ribbon As IRibbonUI)

End Sub

Sub mynzSheetToolsbtnInsertTOC(control As IRibbonControl)

End Sub

‘Callback for mynzSheetToolsbtnSheets getItemCount

Sub mynzSheetToolsbtnSheets_Count(control As IRibbonControl, ByRef returnedVal)

End Sub

Public Sub mynzSheetToolsbtnSheets_getItemLabel(control As IRibbonControl, Index As Integer, ByRef returnedVal)

End Sub

‘Callback for mynzSheetToolsbtnSheets getSelectedItemIndex

Sub mynzSheetToolsbtnSheets_getSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

End Sub

Sub mynzSheetToolsbtnSheets_Click(control As IRibbonControl, id As String, Index As Integer)

End Su

上面的代码将在功能区中添加一个“工作工具”的任务,这个任务下面有一个选择工具和一个列表工具。

8b153357537b215c2d5089a441cc9915.jpeg

(待续)

d5c3d2789839ece794a77f09361ae322.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

d8f7a7bfbe003a6e10a0d899ef80cf92.jpeg

336b26c338f1b027ccde6c718e2ca51f.jpeg

原文地址:https://blog.csdn.net/VBA6337/article/details/134652147

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_15629.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注