郑州电脑维修 Win7粉丝 网站地图
您的位置:IT服务网办公软件WPS浏览正文

【VBA教材】54.常用语句透析(二十八)

2011-10-24 14:36:37 浏览次数:0 评论 0

【VBA教材】54.常用语句透析(二十八)这篇文章的内容如下:

五十四 常用语句透析(二十八)

本节介绍Err对象的常用属性与方法、Err函数和罗列常用的错误信息。

53.1 Err对象的属性与方法

在VBA中提供了一个Err对象,用于提示关于运行时错误的信息。

Err 对象的属性由错误的生成者来设置,包括VBA程序,代码中涉及的对象或者是程序开发者。Err对象的属性和方法可以通过VBA的“自动列出成员”来获取,方法是在代码窗口中输入“Err.”,VBA会自动弹出一个成员下拉列表,其中带有绿色图标者表示方法,其余的表示属性,如图53.1所示。

\

图53.1 Err对象的成员列表

Err的属性参见表53-1,Err方法解释参见表53-2。

表53-1 Err属性详解

属性

含义

Number

返回或设置表示错误的数值。Number 是 Err 对象的默认属性。可读/可写

HelpContext

返回或设置一个字符串表达式,包含 Windows 帮助文件中的主题的上下文 ID。可读/可写

HelpFile

返回或设置一个字符串表达式,表示帮助文件的完整限定路径。可读/可写

Source

返回或设置一个字符串表达式,指明最初生成错误的对象或应用程序的名称。可读/可写

LastDLLError

返回因调用动态链接库 (DLL) 而产生的系统错误号,只读。在Macintosh中,LastDLLError 总是返回零

Descriptio

返回或设置一个字符串表达式,包含与对象相关联的描述性字符串。可读/可写

表53-2 Err方法详解

属性

含义

Raise

产生运行时错误

Clear

清除 Err 对象的所有属性设置

Err的属性中使用最频繁的是其Number属性,而方法中使用最频繁的是Clear。在前面的章节和后面的章节都有关于Number属性和Clear方法的应用。

53.2 认识Error函数

Error函数返回对应于已知错误号的错误信息。

VBA内部对VBA的所有错误都有相应的编码,利用该编码可以模拟一个错误信息。Error函数语法如下:

Error [(errornumber)]

其参数代表错误编码,例如编码6表示“溢出”错误。完整代码如下:

_____________________________________________________

Sub 溢出错误()

Error 6

End Sub

_____________________________________________________________

执行以上过程时会弹出如图10.64所示错误提示框:

Error函数和Err.Raise 的功能类似,都可以人工设计一个错误。

\

图53.2 模拟溢出错误

53.3 罗列错误代码及含义

VBA中有近1000个错误类型,当程序出错时会弹出对话框,而该对话框中简短的几个字符往往无法让用户明白出错的实际原因。

本例利用了Err的多个属性在单元格中产生错误ID、错误描述详查。过程代码如下:

______________________________________________________

Sub 获取所有错误类型编码及含义()

Dim i As Integer, num As Integer

Range("A1:B1") = Array("错误ID", "错误描述") '一次性写二个单元格的标题

For i = 1 To 1000'在获取编号为1到1000的错误中循环

On Error Resume Next'遇到错误仍然继续执行

Err.Raise i'人工产生一个错误,其编号随循环而递增

'如果错误类型不是"应用程序定义或对象定义错误"或者编号等于1就提取该错误描述

If Error(i) 应用程序定义或对象定义错误" Or i = 1 Then'利用变量num获取A列第一个非空单元格的行号

num = WorksheetFunction.CountA(Range("a:a")) + 1

Cells(num, 1) = i '将错误编号赋予A列第一个非空单元格

Cells(num, 2) = Error(i) '将错误描述赋予B列第一个非空单元格

End If

Next i

End Sub

_______________________________________________________

在以上过程中,首先使用了“On Error Resume Next”防错,表示不管遇到什么错误都继续执行下去;然后通过Raise方法人为产生一个错误,从而可以捕捉该错误的帮助主题;最后在A、B列中罗列出错误编号、错误描述

错误查询.et



本文地址:http://www.itfw5.com/office/WPS/9415.html
  • 郑州电脑维修,同时还提供提供郑州数据恢复,郑州硬盘数据恢复,郑州内存卡数据恢复;
    请自觉遵守相关政策法规,严禁发布色情/暴力/反动言论。

    相关广告

    WPS推荐文章