网易首页 > 网易号 > 正文 申请入驻

002.了解VBA编辑器

0
分享至

大家好,我是永不止步的老牛。

上一篇我们介绍了VBA的一些基本概念,本篇我们介绍VBA编辑器,工欲善其事,必先利其器,善用编辑环境的功能,能对我们的开发带来极大帮助。

启动后的VBA编辑器默认有三个窗口,左边是“工程资源管理器”和“属性”窗口,右边是“代码”窗口。

VBA编辑器还有对象浏览器、立即窗口、本地窗口、监视窗口。

本篇将介绍几类窗口及调试VBA程序的工具栏。

1.工程资源管理器

工程资源管理器默认是以分类形式显示当前工程中所有对象。在顶部有3个按钮,分别为“查看代码”、“查看对象”、“切换文件夹”。

选择其中一个对象后,点击“查看代码”,会把该对象对应的代码显示在代码窗口内;

如果选择的对象是“模块”或“类模块”,因为没有对应的窗体,“查看对象”按钮会暗显,如果选择的对象是“Microsoft Excel 对象“,点击“查看窗体”,会切换到Excel编辑页面对应的Sheet页,如果选择的对象是”窗体” ,点击“查看窗体”,会显示该对象对应的窗体,如图

“切换文件夹“是将资源列表按照”分类“和”不分类“两种展示方式,进行切换,默认是分类展示资源,不分类展示如下图

在资源列表中,点击鼠标右键,会弹出如下图菜单

根据所选资源不同,菜单会显示当前可用项,不可用项暗显。

最上面3项对应前面刚说的3个按钮,“切换文件夹“会一直亮显;

“VBAProject属性“显示工程属性窗口,可以修改工程名称和设置工程保护,工程保护就是给工程设置密码,想查看代码前,需要输入密码,“VBAProject属性“会一直亮显;

“插入”可以新增窗体、模块、类模块3类资源,会一直亮显;

“导入文件”是将磁盘文件添加到工程内,会一直亮显;

“导出文件”是将选中对象保存到磁盘上,选择的是工程或分类名称时暗显;

“移除”是将选中对象删除掉,删除前会出提示窗体询问删除前是否要先导出,选择的是工程或分类名称时暗显;

“打印”会调出打印窗口,会一直亮显;

“可连接的”是指工程资源管理器窗口是否能停靠,会一直亮显;

“隐藏”是指将工程资源管理器窗口隐藏起来,会一直亮显,隐藏后的工程资源管理器窗口可以通过顶部菜单“视图”打开显示,或按快捷键Ctrl+R打开显示。

2.属性窗口

属性窗口是显示所选择对象的所有属性信息,可以方便的在属性窗口中直接设置所选对象的属性。

“对象下拉框”内是资源管理器所选对象中包含的所有对象,比如说资源管理器中选择的是个窗体文件,这个窗体文件上放置了一个按钮和文本框,那么这个下拉框内将显示3项:窗体、按钮、文本框。左边是“对象下拉框”选中对象的所有属性,右边是属性对应的属性值,可以在右侧直接修改。

在“对象下拉框”下面有2个面板“按字母排序”和“按分类排序”,就是将属性列表按不同的形式展示。

3.代码窗口

代码窗口用于显示、编写、调试VBA代码,窗体、模块、类模块、工作表、工作簿、控件的代码都在这个窗口编辑。

代码编辑区域就是我们写VBA代码的地方,“对象下拉框”可以选择“通用”和对象,如果选择的是“通用”,“过程/事件下拉框”显示“声明”和过程名称,如果选择的是对象,“过程/事件下拉框”显示该对象的所有事件,选择一个事件后,该事件的VBA程序代码将会显示在代码编辑区域。

“拆分栏”是将代码编辑区域拆分成上下两部分,可以分别显示不同的代码,主要是调试代码段特别长的过程时方便进行比较查看。

左下角按钮是切换两种代码区域展示方式。

4.对象浏览器

对象浏览器可以查看VBA可用对象,以及它们的属性,方法和事件。

对象浏览器窗口的上部显示“工程/库”下拉列表,这里列出了所有库名称以及当前VBA工程里可用的所有工程名称。 “Excel”库,表示仅仅能在Excel里执行的对象名称,VBA库列出了所有能在VBA里执行的对象名称。

在“工程/库”下拉列表框下面,有一个“搜索”文本框,可以在某个库里搜索想要的信息。在对象浏览器的任何地方单击右键,在快捷菜单上选择“全字匹配”,就只搜索匹配整个字的内容。

对象浏览器上的“搜索结果”显示符合搜索条件的库,类和成员。当你输入搜索文本并且单击搜索按钮,VB展开对象浏览器对话框以显示搜索结果。点击“望远镜”按钮右边的“显示/隐藏搜索结果”来显示或者隐藏搜索结果。

类列表框显示所选中的库里面所有可用的对象类,如果你选择VBA工程,列表显示该工程里的对象。选中一个类后,右边的列表显示该类可用的属性,方法和事件。右边列表选中某项后,下方区域会显示该项的描述信息。

我们库选中VBA,搜索框输入Abs,再按F1,将会显示Abs函数的信息。

5.立即窗口

立即窗口可以理解成是命令行窗口,输入VBA命令后按回车键可以直接执行,可以在程序执行中设置断点,等程序执行到断点处暂停时,在立即窗口输入命令进行查看或设置。

也可以直接在程序代码中把一些信息直接输出到立即窗口,方便调试,这种好处是不需要设置断点,用Debug.Print命令可以将需要监视的信息输出到立即窗口。

6.本地窗口

在调试程序时,本地窗口会显示所有在当前过程中的变量声明和变量值。

列表中有“表达式”、“值”、“类型”3列数据,分别显示表达式、表达式数值、数据类型。

列表中的第一个变量,如果是类模块,会用

表示,以树形显示所有模块层次变量,如果是其他模块,显示的是模块名称。

本地窗口中的表达式列不能编辑,不能访问全局变量。

7.监视窗口

监视窗口是调试程序的利器,在程序执行到断点处,我们可以根据需要添加监视表达式,添加后,表达式的值就会显示在监视窗口中,监视窗口包含“表达式”、“值”、“类型”、“上下文”4列,“表达式”是我们输入需要监视其值的表达式,“值”是程序触发中断时表达式的值,“类型”值监视表达式的数据类型,“上下文”指表达式所在模块。

在监视窗口右键,在弹出菜单中选择“添加监视”,弹出添加监视窗体。

在文本框中输入我们需要监视的表达式,上下文是设置表达式的计算范围,这个范围一般是设置的小一点,因为一旦设置好监控表达式,程序每执行一步,都会重新计算表达式的值,如果设置的范围太大,程序执行的速度会明显下降。

“监视类型”是指定如何响应监视表达式:

“监视表达式”:显示监控表达式的值;

“当监视值为真时中断”:就是当表达式的值为True时,中断程序执行;

“当监视值改变时中断”:就是当表达式的值发生改变时,中断程序执行。

8.调试VBA程序的工具栏

当我们编写一段程序后,需要试运行来确认程序正确性,发现程序中存在的各种问题并进行修改,这就是调试程序,编写程序的大部分时间是花费在调试程序上。

调试需要用到调试工具栏,调试工具栏可以运行程序、中断程序运行、停止程序运行、设置断点、逐语句执行、逐过程执行、跳出当前过程,前面说到的调出本地窗口、立即窗口、监视窗口的按钮、快速添加监视的按钮,以及显示调用堆栈窗口。

“设计模式切换”按钮是一个开关键,就是在设计模式和非设计模式之间进行切换,当为设计模式时,工程中的代码将不被执行且工程中的事件也不被执行,当为非设计模式时,意味着代码可以被执行。

“运行”指运行过程、窗体或宏,若国光标处在一个过程体内,则是运行这个过程,如果处在激活状态的窗体,则是运行这个窗体,否则就是运行宏。

“中断”指将正在运行的程序暂停执行。

“停止”指清除当前堆栈及模块级变量,重置工程,就是使运行的程序停下来。

“断点”按钮是一个开关键,就是对光标所在行设置断点或取消断点。

“逐语句”指程序运行时,一条语句一条语句的执行代码。

“逐过程”指程序运行时,一个过程一个过程的执行代码。

“跳出”指跳出当前正在执行的过程,继续执行后续的代码。

“本地”、“立即”、“监视”指分别调出“本地窗口”、“立即窗口”、“监视窗口”。

“快速监视”弹出快速添加监视窗体,可以对光标所在表达式快速添加监视,如图:

“调用堆栈”指调出“调用堆栈”窗口,显示在中断模式期间活动的过程调用,当执行一个过程中的代码时,该过程会添加到活动的过程调用列表。每次过程调用其他过程,便会添加列表,被调用的过程在执行完回到原调用过程时,便会从列表中删除掉。当程序代码复杂,过程调用很多时,可以通过该窗口了解当前代码过程调用情况。

VBA编辑器的大致内容就介绍到这里,还有一些细节等我们后续碰到时再细说,下一篇文章我们介绍过程和函数以及MsgBox函数、InputBox函数、InputBox方法。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
袭击刻赤!乌军在哈尔科夫展开反击,俄军又在三个地方集结兵力

袭击刻赤!乌军在哈尔科夫展开反击,俄军又在三个地方集结兵力

鹰眼Defence
2024-05-30 17:25:52
惊!乌克兰在克里米亚的大规模行动,看完让人大开眼界

惊!乌克兰在克里米亚的大规模行动,看完让人大开眼界

亡海中的彼岸花
2024-06-01 12:55:18
两性莫羞涩:SM进阶:滴蜡玩法

两性莫羞涩:SM进阶:滴蜡玩法

坟头长草
2024-05-30 16:27:15
25人伤,3条命!这场爆炸,能否震醒汽修业的安全沉睡?

25人伤,3条命!这场爆炸,能否震醒汽修业的安全沉睡?

娱乐圈的笔娱君
2024-06-01 08:30:14
因“刘强东”走红的蒋聘婷,国外住豪宅开豪车,生活奢靡

因“刘强东”走红的蒋聘婷,国外住豪宅开豪车,生活奢靡

小人物之大职场
2024-05-31 14:53:52
突发!河北一商场又有人跳楼,商场紧急安护栏,知情人:4天跳俩

突发!河北一商场又有人跳楼,商场紧急安护栏,知情人:4天跳俩

蜚一样的感觉
2024-06-01 11:12:22
2-3!意大利被巴西逆转,排第5稳进奥运,中国女排战泰国压力来了

2-3!意大利被巴西逆转,排第5稳进奥运,中国女排战泰国压力来了

侃球熊弟
2024-06-01 14:47:56
莫名其妙!印媒:15名解放军士兵头部受印军重击生还希望渺茫

莫名其妙!印媒:15名解放军士兵头部受印军重击生还希望渺茫

小弟萝卜呀1
2024-05-28 21:43:35
乌克兰得到一笔“前所未有”的援助

乌克兰得到一笔“前所未有”的援助

环球时报国际
2024-05-27 23:57:17
局长为谋求副厅,被骗300万,留置时说:“我马上就要提拔了,你们现在把我搞进来,是不是有人想整我?”

局长为谋求副厅,被骗300万,留置时说:“我马上就要提拔了,你们现在把我搞进来,是不是有人想整我?”

新京报政事儿
2024-06-01 12:22:16
江西上栗爆炸事故已致3死25伤 事故原因正在调查

江西上栗爆炸事故已致3死25伤 事故原因正在调查

北青网-北京青年报
2024-06-01 08:29:03
“一丝不挂”新舞蹈?惹争议,被摸下体更不害臊,金星质疑是对的

“一丝不挂”新舞蹈?惹争议,被摸下体更不害臊,金星质疑是对的

吃鱼思故渊
2024-05-16 21:48:21
讣告!于2024年5月21离世:阮经天崩溃

讣告!于2024年5月21离世:阮经天崩溃

华人星光
2024-05-31 17:27:30
城管队长出轨女下属称对方“嫩妈”,女主照片曝光真白瞎这张脸!

城管队长出轨女下属称对方“嫩妈”,女主照片曝光真白瞎这张脸!

听风听你
2024-05-30 20:29:17
中国现在最惨的人

中国现在最惨的人

悠闲葡萄
2024-06-01 10:23:51
肯扬-马丁:25岁的东契奇并不比詹姆斯更好 后者当时已是两届MVP

肯扬-马丁:25岁的东契奇并不比詹姆斯更好 后者当时已是两届MVP

直播吧
2024-06-01 11:14:37
中国血脉就是一个巨大的错题本! 网友:老祖宗传承的基因果然不一样

中国血脉就是一个巨大的错题本! 网友:老祖宗传承的基因果然不一样

双色球的方向舵
2024-05-31 19:34:21
湖南最奇特的高铁常益长高铁!开通至今无法出省,且没达速运营

湖南最奇特的高铁常益长高铁!开通至今无法出省,且没达速运营

吴振坤爱音乐
2024-06-01 05:32:44
王传福:世界最先进的插混技术都在中国,全球插混已经进入中国时刻

王传福:世界最先进的插混技术都在中国,全球插混已经进入中国时刻

封面新闻
2024-05-29 17:44:45
央八今晚开播!32集谍战剧,全员实力派,有望成为年度黑马剧

央八今晚开播!32集谍战剧,全员实力派,有望成为年度黑马剧

阿芒娱乐说
2024-06-01 15:06:47
2024-06-01 15:48:49
做复杂世界里的明白人
做复杂世界里的明白人
拥抱智慧、成功和幸福,驱散冷漠、孤独和无助。
32文章数 85关注度
往期回顾 全部

科技要闻

华为上新!余承东:问界6月销量将超4万辆

头条要闻

法国确认不邀请俄方参加诺曼底登陆纪念活动 克宫回应

头条要闻

法国确认不邀请俄方参加诺曼底登陆纪念活动 克宫回应

体育要闻

"失业"一年了 33岁的德赫亚路在何方

娱乐要闻

白玉兰提名:胡歌、范伟争视帝

财经要闻

实锤!普华永道,危!

汽车要闻

吉利银河E5 Flyme Auto智能座舱首发

态度原创

数码
家居
教育
时尚
房产

数码要闻

AMD调整800系列芯片组功能 X870成为B650E的继任者

家居要闻

风雅自来 中式的和谐平衡

教育要闻

5月29日湖南郴州,各科老师花式为高三考生送考,“哲学、法学、经济学,如意考上好大学。”“重力、弹力...

大热天,阔腿裤配什么上衣更清凉?

房产要闻

重磅!琼海出台楼市新政:住房出租、挂牌计划出售,都可减套数!

无障碍浏览 进入关怀版