|
来源:http://blog.csdn.net/aspstu/
+ @2 Q' V& z8 V$ h$ {语句
( c5 e/ M$ f2 F, `+ T/ p% MCall 2 J! l1 j" L4 H' [) I8 o1 m
[call] name [argumentlist]
* d, I" k" X4 q; R# A* E5 ^7 \把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 1 s3 j7 Y# e( N3 f
Const * N: N' S% W# |, C2 B
[Public | Private] Const constantname=expression
3 l2 C0 f+ a% F* ]6 f2 Q用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
- g2 N( {5 n5 l( [6 [5 `; wDim / k$ m: E% M1 v k6 k r
Dim varname[ ( [subscripts])][, varname [( [subscripts])]... / y4 y* Z9 j& C: L6 Q
创建一个新变量并且分配存储空间。
2 n. @$ W3 E5 E& P- g5 _! @DO . . . LOOP - u+ l$ b/ [' q
语法 1:
4 o/ U. ?8 f4 RDo [{While | Until } condition ]
! L& i/ _, {$ M: ^( y( U[statements]
. ]+ C1 h$ r4 H3 X7 v) G. a9 W[Exit Do] 1 F5 U- z; [' m; v
[statements] $ F3 \* Q) x$ f+ a/ n
LOOP
r6 `2 @/ g$ `语法 2: 1 P/ Q4 B5 q+ r
Do ( @2 [1 Q2 F$ A% Z
[statements] " M4 e5 G `) ?* h; j4 K8 ~3 @
[Exit Do]
( u8 {( H S8 ]2 Y9 z[statements] # }) Y; r; Z6 j+ r
LOOP [{While | Until } condition ] " [* s9 X+ g7 h
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。 ' V4 R. P& Q8 e+ I
Erase
0 @1 ?1 H. j# e% fErase array 4 Y) K/ `/ L% Q0 d/ f( |
清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
M( n! U9 Z- p! {6 ^) dExit , d1 L( l3 M# G1 h
Exit Do
5 _$ e+ g* _6 ^3 p3 U2 d" K2 z退出一个 DO . . . LOOP 循环。 5 j- M0 B8 v' j; j% X2 e
Exit For 7 _! n/ l' E1 h7 \+ B
退出一个 For . . . Next 循环或For Each . . . Next循环。 + }- r3 ?: n) f
Exit Function 8 S8 z7 |, R6 D' _) M% Z
退出一个 函数。
2 K( F7 k- A. p! j lExit Sub ' Y& q( D( S5 q, o' E' V, f
退出一个子程序。 8 D& t+ V9 u9 ~2 s9 I
For . . . Next ) f& v3 l7 H6 n
For counter = start To End [Step step]
: h6 g% b/ O" \[statements]
) a, a) S: V% X6 v- [[Exit For] [0 v$ w% J& _, o- C& f
[statements] " B' w" i+ D1 w; g0 M# u7 {9 m1 ~5 k
Next ( q5 S. a! p) P& g1 ?9 h
由loop 计数器指定的次数重复执行statements语句群。
8 y( y7 s- ~) I0 [, F/ r0 NFor Each . . . Next ) U" o0 N5 p4 E- B
For Each element In group
, T. c% S* F3 E9 f8 Z3 o3 z. m2 f[statements] & H2 M8 `5 F: O3 Z2 M
[Exit For] 6 h* ^5 m3 l& ?5 M" H, ], V- A
[statements] 2 T0 X- u) _, r3 V' T) _
Next [element]
& q" g9 m' i) y2 _" t8 z对于每一个在数组或集合中的元素,重复执行statements语句群。 # O2 ^' @" u5 y2 h+ [' a
Function 3 Y& X/ r+ |7 c! a$ Z1 I3 X3 m
[Public | Private] Function name [(arglist)] 7 \: g! f: ^6 K+ G% {& o+ ?8 d
[statements]
- M9 h2 s& l3 w[name=expression]
5 _1 w; }7 `3 {# @! t# C[Exit Function]
1 u1 p4 i) i/ R* t' H, t$ e: @[statements] & p M' P1 H2 E$ _( \! A {# v
[name=expression] * N, u4 q( U; F$ Q
End Function
& G! @9 U% X( H定义一个函数,指明函数名,参数及代码。 * j+ q4 F2 c' ~, o7 ]* G$ U6 h
If . . . Then . . . Else % x, Q5 @( h ] ?5 i7 h( m
语法1:
, P0 d% y/ b" M6 y* b: c d; |! cIf condition Then statements [Else elsestatements] " s) T+ H- M9 i# j0 p: u
语法2: 0 E; z- j; Z! k6 x* s
If condition Then
' T! z" ?0 M% `# X/ ^) g: l& @statements 7 C5 ?2 A) k8 M
[ElseIf condition-n Then
' ?% Q0 {0 \$ ^0 [/ x8 F8 I# F[elseifstatements]] . . . 5 }, P; E, i* V3 p
[Else
3 \- ?# F, t0 f0 C[elsestatements]] 8 X j( @* g# \ d' B
End If + A W; L' u9 F# F: D% S7 I$ u# e# ]/ Z
两种格式都条件执行一系列语句。
3 e; a8 q. `& o" [! q+ g3 P/ _On Error - Q6 j: i% s0 |
On Error Resume Next / t6 H# ^& H1 m3 s, M: R
当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
0 a$ K, s2 y% S6 {- HOption Explicit
; F8 t" j$ b3 q% u$ {- h& E ROption Explicit % S! H7 K' E$ `3 o
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
i& J/ K! o. G5 m: TPrivate , u5 b3 n, _6 V/ N
Private varname[([下标])][, varname[([下标])] . . .
# S% }5 v7 U& N1 E7 V( I创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) ) V( |# U! d5 T+ o) U
Public 5 z* y8 w/ O- k$ ~8 {
Public varname[([下标])][, varname[([下标])] . . .
. m& ?' o8 g- f7 X$ H2 M4 f& ]创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
$ u5 @$ L9 c0 z0 z8 J( ^; WRandomize
% p$ S! R4 S/ WRandomize [number]
( q& j1 g; D" F给Rnd函数的随机数发生器一个新种子值。 9 f9 F4 M# ?% B. p
ReDim . m4 S' D, q& A5 C$ E9 G! d
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . 9 Y6 o9 v3 \# Z+ P, t( }6 V" G8 E
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 # w4 }9 T! S) m% ~+ u
Rem
( C0 j, {+ q7 |+ Y2 l7 W语法1:
* U$ N4 T4 p0 j: I% `3 TRem comment ; M+ n! z4 P; n' n( G+ @
语法2: 2 b! l5 o8 k+ E3 j0 g! \8 y
‘comment ; ~* q6 }4 D& p9 W y% i
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 5 z' V3 \; o/ N5 `
Select Case
& L9 N( X0 a) X7 v5 @Select Case testexpression
% d# a' ]/ ]7 Y* @[Case expressionlist-n & t' A( n5 u- l! N: C A$ ]
[statements-n]] . . .
0 c/ @$ N1 |; x7 S: N6 B% U2 ^% \[Case Else expressionlist-n
! n' n$ I! {) |6 r! H& E! s[elsestatements-n]] & B% c& d. l+ |( G, x+ [4 i
End Select
7 X5 i: {: m O$ ~* V8 S* O. T如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
0 |- l- W3 ~& _Set 9 k, F; R6 x& h5 [$ @7 z, U
Set obectvar= {objectexpression | Nothing}
- R5 o' A: q& C" y赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
9 O) d' d2 Z) s! T4 ?3 b$ QSub ; b% _ z: n' s( i% ~' M) @8 ]/ y1 j
[Public | Private] Sub name [(arglist)] 0 ~0 ]+ z2 B- ~4 U
[statements]
4 y: ~) s# W/ q1 @[Exit Sub] 5 v' _- g$ C& h- K
[statements] ; Y) P9 d8 l' u! G3 h7 c
End Sub
# }, j% W% c+ Y定义一个子程序,指明名称,参数及代码。
, ` Q# R/ E/ m' EWhile . . . Wend h2 w% b C9 `1 E9 E1 z
While condition + o. Z8 E% |" Q$ d1 U
[statements]
8 a+ C0 F+ m3 A& PWend
) E+ s- e, S( c; z2 Q5 M! n不停地连续执行语句statements 直到条件condition为True。 * ^! o% R* J' R* K8 ?% q; H6 v
4 L1 ^2 ~4 V7 H0 I- e/ ?0 E
|