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

【VBA教材】57.常用语句透析(三十一)

2011-11-15 14:03:02 浏览次数:0 评论 0

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

常用语句透析(三十一)

On Error GoTo 0语句表示禁止当前过程中任何已启动的错误处理程序。

假设在过程中有On Error GoTo line和On Error Resume Next语句,那么本语句On Error GoTo line和On Error Resume Next失效。所以On Error GoTo 0语句不会单独使用。

如果在过程中使用了On Error GoTo line或者On Error Resume Next语句,限制了程序出错时该如何处理,而在后续的过程中如果不再需要按该规则执行,则可以在适当的地方插入On Error GoTo 0语句,表示清除前面的错误处理机制。

下面以及后面的几个章节将通过几个案例讲述错误处理程序在工作中的应用。

案例:错误三次则退出程序

计算机的登录密码可以设置为错误N次即禁止登录,而VBA中利用错误处理规则也可以完成同等功能。

现设计一个打开文件时密码错误三次则退出程序的功能。该文件为C盘中的“生产表.xls”,密码为123。具体步骤如下:

单击菜单【插入】\【模块】;

在模块代码窗口录入以下代码:

________________________________________________________

Sub 错误三次则退出()

Star:'指定标签,错误时从头开始执行

On Error Resume Next'错误时执行下一步

Err.Clear'清除错误(不等于On Error GoTo 0,请注意)

i = i + 1'累加变量,记录输入密码的次数

'输入密码,在对话框中提示次数

pass = InputBox("请输入密码:" & Chr(10) & "您还有" & 4 - i & "次机会", "第" & i & "次输入密码")

'利用前面输入的密码去打开带有密码的工作簿

Application.Workbooks.Open "C:\ 生产表.xls", , , , pass

'如果已经错误三次,则提示并结束程序,您也可以加入关闭工作簿或者退出Excel程序等语句

If i = 3 Then MsgBox "对不起,你已错误三次,程序即将关闭": End

If Err 如果有错误则返回标签Star处重新执行

End Sub

________________________________________________________

在C盘存放一个打开密码为123的文件——“生产表.xlsx”;

光标定位于“错误三次则退出”过程任意位置处,按下快捷键【F5】执行程序,程序立即弹出如图57.1所示对话框,在对话框中提示了用户当前是第几次输入密码,以及还剩下几次机会;

如果在对话框输入密码456,并单击“确定”按钮将弹出如图10.77所示对话框。

\

图57.1 第一次录入密码

\

图57.2 第二次录入密码

如果第三次输入错误的密码将弹出如图10.78所示对话框,同时表示这是最后一次机会。如果第三次输入错误密码则弹出图10.79所示错误信息。

\

图57.3 第三次输入密码

图10.79 密码错误三次后的错误信息

在本例中,与前两节讲程中所涉及的功能上相似,但在实现方式上采用了完全不同的思路,不再用静态变量和过程递归,而是在过程最前端设置标签,程序中的防错语句将过程跳转到该标签即可,因为过程不曾结束,变量的值不会被释放,所以动态变量也可以实现错误次数的记录。



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

    相关广告

    WPS推荐文章