ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4360|回复: 3

[求助]请教关于On Error Goto的用法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-5-10 17:56 | 显示全部楼层 |阅读模式
On error goto doerror1: 第一段代码 doerror1: On error goto doerror2: 第二段代码 doerror2: 第三段代码 我希望实现如下功能: 如果第一段代码运行中出现问题,从第二段代码开始继续运行,而如果第二段代码在运行中出现问题,从第三段代码开始继续运行。 但是用上面的方法好像是不行的,请教孔兄或版主,该如何实现呢?

TA的精华主题

TA的得分主题

发表于 2006-5-10 18:02 | 显示全部楼层

打开VBS,以error为关键词搜一下。能看到相关的说明的。

在精英站有人也说过此事。

TA的精华主题

TA的得分主题

发表于 2006-5-10 19:17 | 显示全部楼层

这是我以前收藏的一段代码,供参考:

Option Explicit
Public Const errBadFileNameOrNumber As Integer = 52 '不正确的文件名或文件号
Public Const errFileNotFound As Integer = 53 '文件未找到
Public Const errBadFileMode As Integer = 54 '文件类型不正确
Public Const errFileAlreadyOpen As Integer = 55 '文件已打开
Public Const errDeviceIO As Integer = 57 'I/O错
Public Const errFileAlreadyExists As Integer = 58 '文件已存在
Public Const errDiskFull As Integer = 61 '磁盘满
Public Const errInputPastEndOfFile As Integer = 62 '超越文件尾端
Public Const errBadFileName As Integer = 64 '文件名有误
Public Const errTooManyFiles As Integer = 67 '文件太多
Public Const errDeviceUnavailable As Integer = 68 '设备未准备好
Public Const errDiskNotReady As Integer = 71 '驱动器未准备好
Public Const errPathDoseNotExist As Integer = 76 '路径不存在
Function FileErrors(errVal As Integer) As Integer
Dim MsgType As Integer, Response As Integer, Msg As String
MsgType = vbExclamation
Select Case errVal
Case errDeviceUnavailable
Msg = "磁盘未格式化或I/O出错"
MsgType = vbExclamation + 5
Case errDiskNotReady
Msg = "驱动器未准备好"
Case errDeviceIO
Msg = "磁盘满"
Case errBadFileName, errBadFileNameOrNumber
Msg = "文件名非法"
Case errPathDoseNotExist
Msg = "路径不存在"
Case errBadFileMode
Msg = "文件类型不正确,无法打开"
Case errFileAlreadyOpen
Msg = "文件已打开"
Case errInputPastEndOfFile
Msg = "有一个不正确遥文件结束标志,或企图越界读文件"
Case Else
FileErrors = 3
Exit Function
End Select
Response = MsgBox(Msg, MsgType, "出错处理")
Select Case Response
Case 1, 4
FileErrors = 0
Case 5
FileErrors = 1
Case 2, 3
FileErrors = 2
Case Else
FileErrors = 3
End Select
End Function
Sub Example()
Dim Action As Integer
On Error GoTo ErrHandle
Dir ("a:\")
Exit Sub
ErrHandle:
Action = FileErrors(Err)
Select Case Action
Case 0
Resume
Case Else
Exit Sub
End Select
End Sub

TA的精华主题

TA的得分主题

发表于 2006-5-10 21:20 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 13:53 , Processed in 0.033597 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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