Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4498|回复: 2

[分享] 【烟花原创】VBA零基础之第99篇 VBA错误处理(三)

[复制链接]
发表于 2014-2-15 13:33 | 显示全部楼层 |阅读模式
前面有提到在错误处理程序中对于运行错误的来源和相关信息需要检查Err对象。
Err对象包含有运行错误的信息。
对象的属性是由错误的生成者来设置,不需要我们去手工设置。
Err对象是具有全局范围的内置对象,在代码中没有必要建立这些对象的实例。
Err 对象的缺省属性是 Number,下面两种写法的效果是一样的。
1.jpg
但是请注意,如果Err在表达式的右边,如下图
2.jpg
所产生的效果就不同了,err1是获得了Err对象的引用。
errNumber只是取得了Err对象的Number属性(也就是错误号)。

Number 属性
返回或设置表示错误的数值。
说明:
不建议直接设置属性的值。
如果要返回自定义错误,建议用Err对象的Raise方法产生一个自定义的运行错误。
示例:
3.jpg
4.jpg

Description 属性
返回或设置与错误相关联的描述性字符串。
说明:
Description 属性设置对错误进行简短描述。当无法处理或不想处理错误的时候,可以使用这个属性提醒用户。
对于自定义错误,不建议设置该属性值在生成用户自定义的错误时,如果
Description 未填入数据,而且 Number 的值与 Visual Basic 运行时错误一致,那么在生成错误时,将 Error 函数返回的字符串放置在 Description 中。
示例,常见的9号错误(下标越界)
5.jpg

Source 属性
返回或设置一个字符串表达式,指明最初生成错误的对象或应用程序的名称。
说明:
Source 属性是字符串表达式,指定生成错误的对象;此表达式通常是这个对象的类名或程序设计的 ID
在程序代码无法处理被访问对象产生的错误时,请使用
Source 提供消息。
在错误生成时,
Source 就是应用程序的程序设计 ID。对于类模块,Source 应该包含一个具有 project.class 窗体的名称。
当代码中出现不可预料的错误时,
Source 属性会自动填上数据。对于标准模块中的错误,Source 含有工程名称。
示例:
6.jpg
工程名称可以通过菜单工具,VBProject属性(E)来修改。
7.jpg
当工程名称改过后,菜单项里显示的是工程名称而非VBProject属性。
8.jpg

LastDLLError 属性
返回因调用动态链接库 (DLL) 而产生的系统错误号。
Macintosh中,LastDLLError 总是返回零。
说明:
LastDLLError 属性只适用于由 Visual Basic 代码进行的 DLL 调用。
在调用时,被调用的函数通常返回一个表明成功还是失败的代码,同时对 LastDLLError 属性填充数据。
请检查
DLL 函数的文档,确定返回值,表明是成功还是失败。
只要返回失败代码,
Visual Basic 的应用程序就应立即检查 LastDLLError 属性。
在设置
LastDLLError 属性时不会有任何例外。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-5-25 13:48 | 显示全部楼层
版主这样看太累了,直接放个文档吧
回复

使用道具 举报

发表于 2014-6-18 13:43 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 19:31 , Processed in 0.252092 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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