最新WPS办公软件学习教程_免费企业办公软件下载_金山WPS Office官网论坛

 找回密码
 
查看: 7104|回复: 14

[VBA/VBS教程] 【VBA For ET 教材连载系列】五十三

[复制链接]

399

主题

75

听众

3062

积分

测试体验团员

Rank: 14Rank: 14Rank: 14Rank: 14

该用户从未签到

金币
3
威望
5033
帖子
2014
精华
11

特殊贡献奖 最佳教程奖 活跃会员奖

发表于 2009-12-15 16:39 |显示全部楼层
分享到: 新浪微博 腾讯微博
  五十三 常用语句透析(二十七)
  在开发程序时,一定会出现执行错误,包括可以预料的错误、意外的错误,以及开发者故意设置的错误等。在执行过程中有必要对这些错误进行处理,防止程序中断或者得到错误的运算结果。
# q$ a! Y7 h. D还  有一种情况是重写VBA的错误提示,因为部分情况下VBA的提示可能并非实际的错误原因,用户无法从中获得有用的资讯,开发者有必要重写一个错误提示,使终端用户从中获取出错原因或者清楚正确的操作方式。  F3 D" Y# |( b, g; l6 I" G5 W- B
  本节开始,将对程序出错的原因、含义、错误捕捉设置以及防错的方法进行一一解说。本节讲述错误类型及其原因.$ p/ I) m1 X( ]- j$ R9 m
  VBA内部对程序出错的原因有近100种解释,即表示错误类型有近百种。但若以大类进行划分,通常可以分为三类:
! J% F" R* i- I/ d9 U3 _4 s, w- ^8 Sl环境问题  x# @; m8 Z  R4 o; k
l开发者“笔误”
8 k7 e" j. B/ z$ M/ Nl用户错误使用2 m% t6 F' V) f  f! p. K6 }
一 环境问题, L% x  [" i8 `
  此处指的环境问题是指WPS应用程序的环境,而这个环境又包括两方面:版本和Excel对象。
5 ^" m" I& C5 h9 @; S- b8 _  版本问题是指使用者的WPS版本与开发者的应用程序版本不同,造成代码上的兼容性问题。例如在ET 2009中能执行的的,复制到ET 2007就可能出错。因为Excel 2009加入了一些新的方法和属性.如果代码中涉及到了新的对象属性,ET 2007就不支持。6 n+ S8 H, ~$ ?/ v5 J+ F+ c
  对象问题主要是指过程中涉及的工作表对象、工作簿对象、文件、图片等不存在,而对该对象进行读取自然会出错。一方面可能开发者的代码在容错性上未下足工夫,另一方面也可能是用户使用不当,使代码无法读取到指向的对象。
# W' D5 t- j, Z! f# n' l6 }' b3 i& ], C  f二 开发者“笔误”& L. T$ j' ?4 c9 E
  很多大中型插件或者系统都有10万行或者更多的代码,难免出现一个错误。包括标点符号的多写或者漏写,以及单词拼写错误等。, E  f& u1 D) Y, A& p
所以代码的测试显得极为重要。
3 \& s. {! \+ m% f三 用户错误使用
) M/ Z' K! H9 W, i  错误使用也包括两类:无意和有意。
( S7 s# r9 i. p3 m$ j2 p! T2 b  例如在工作表保护状态下执行了修改、汇总工作表数据的程序,工作表命名的程序中录入了非法字符,以及选择图片状态下执行了对选区进行查找、汇总之类的程序,无意中疏忽使程序无法进行。- x8 }/ W+ P1 b; d" J# P# T8 F7 \
  而有意的错误使用,主要是基于测试的心态,看看程序如何反应。例如以下语句:6 e: s  Z" z/ Y# m& c" Q* b0 w: x
Sub 加解密()* u: E( j! p' H3 W9 \
  Dim ans As Byte
: t" G# N" o( w  ans = InputBox("输入1:加密" & Chr(10) & "输入2:解密")
! V$ |! G6 t' H! p  '.....更多代码% O% K. D1 I/ `+ V  n
End Sub. y$ p4 J. y0 f
  在以上过程中,因为正常情况下变量ans只需在12这个范围之间变化,那么编程时将其数据类型声明为Byte。而用户可能会故意胡乱的输入300以上或者0以下的数据,那么程序就会中断,产生“溢出”错误。& X  f3 C$ u! V
  基于以上各种原因,程序在使用过程中一定会出现错误。那么在代码中进行防错,就显得极为重要。

0

主题

0

听众

312

积分

LV.4

Rank: 4

该用户从未签到

金币
6
威望
838
帖子
66
精华
0
发表于 2013-9-21 18:46 |显示全部楼层
继续学习。
回复

使用道具 举报

114

主题

20

听众

2万

积分

LV.18

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

签到天数: 1244 天

[LV.10]以坛为家III

金币
2144
威望
69396
帖子
4240
精华
0

优秀会员奖 活跃会员奖

发表于 2014-12-14 14:48 |显示全部楼层
了解一下               
回复

使用道具 举报

114

主题

20

听众

2万

积分

LV.18

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

签到天数: 1244 天

[LV.10]以坛为家III

金币
2144
威望
69396
帖子
4240
精华
0

优秀会员奖 活跃会员奖

发表于 2015-4-12 09:56 |显示全部楼层
jsdbplt 发表于 2014-12-14 14:48 4 u: L# i8 C2 w- Z1 z  X: K
了解一下
' ^- c% p8 N/ k- b2 N' I. G
学习一下            
回复

使用道具 举报

114

主题

20

听众

2万

积分

LV.18

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

签到天数: 1244 天

[LV.10]以坛为家III

金币
2144
威望
69396
帖子
4240
精华
0

优秀会员奖 活跃会员奖

发表于 2015-7-26 12:28 |显示全部楼层
jsdbplt 发表于 2015-4-12 09:56 ) `5 v5 f% g3 b5 s
学习一下

" j; |6 Y" l. G( g6 {0 N% H! W. d参考一下              
回复

使用道具 举报

114

主题

20

听众

2万

积分

LV.18

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

签到天数: 1244 天

[LV.10]以坛为家III

金币
2144
威望
69396
帖子
4240
精华
0

优秀会员奖 活跃会员奖

发表于 2015-11-22 08:37 |显示全部楼层
再看一下            
回复

使用道具 举报

114

主题

20

听众

2万

积分

LV.18

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

签到天数: 1244 天

[LV.10]以坛为家III

金币
2144
威望
69396
帖子
4240
精华
0

优秀会员奖 活跃会员奖

发表于 2016-3-20 06:58 |显示全部楼层
jsdbplt 发表于 2015-11-22 08:37
5 |& D+ Y* w4 F2 r: B; D再看一下

# C1 C0 p$ h, T+ y, L4 i0 R# W4 F继续看                  
回复

使用道具 举报

3

主题

4

听众

1万

积分

LV.15

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

签到天数: 1250 天

[LV.10]以坛为家III

金币
2413
威望
27956
帖子
3443
精华
0

优秀会员奖

发表于 2016-3-20 10:40 |显示全部楼层
$ h# E5 S  s6 j+ J1 \
来学习教程!支持!
回复

使用道具 举报

114

主题

20

听众

2万

积分

LV.18

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

签到天数: 1244 天

[LV.10]以坛为家III

金币
2144
威望
69396
帖子
4240
精华
0

优秀会员奖 活跃会员奖

发表于 2016-7-17 09:30 |显示全部楼层
看一下               
回复

使用道具 举报

15

主题

28

听众

1万

积分

活动策划团员

Rank: 14Rank: 14Rank: 14Rank: 14

签到天数: 1249 天

[LV.10]以坛为家III

金币
3643
威望
41247
帖子
11348
精华
0

WPS粉丝团 活跃会员奖 活动策划团 测试体验团 重阳节勋章 优秀会员奖

发表于 2016-7-17 12:13 |显示全部楼层
3 L7 B* e8 j; i! i( G2 j
感谢分享,支持楼主
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 更多账号登录:

快速回帖:

fastpost

WPS论坛更新日志|WPS Office官方论坛 ( 粤公网安备 44049102496073号 粤ICP备13015957号-1   

GMT+8, 2018-1-22 16:31

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部