|
来源:http://blog.csdn.net/aspstu/ ( @ I* Z6 @9 f
语句
7 o+ u& ]/ V5 \9 `Call 8 C& k, V: @3 c
[call] name [argumentlist] - e. H& }. b& ^+ I( e# @0 L2 E3 s
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 ; k. U! y, O9 c7 i
Const
4 K1 `6 G2 R) V' h2 l[Public | Private] Const constantname=expression 1 @ t1 R4 [( Y
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。 1 B. B: x! v4 D L d3 S8 I2 U0 r
Dim % s3 {! x9 A9 C2 O4 {
Dim varname[ ( [subscripts])][, varname [( [subscripts])]... ) O* a# d0 m& n( M H/ `, ~
创建一个新变量并且分配存储空间。
2 A5 _9 ?+ E( v4 I; {/ G7 rDO . . . LOOP 9 c9 ~( }, M2 }
语法 1: , B7 ]. W8 w* }. ~9 r5 c
Do [{While | Until } condition ] 4 k! x4 N1 w9 m9 {- T. ]
[statements]
" R+ D, }; f4 l9 p2 _+ Z/ V- w[Exit Do]
% W9 D, E( a( x9 a[statements]
# D" Y; A6 [! L# |1 ?8 uLOOP . b( J" G: c/ u
语法 2: # @* U) a+ F$ u" g( l, M
Do
1 M/ e' |; r2 t" E& i% C* w[statements]
* C8 L5 ]2 q( e, F[Exit Do]
- g3 B. C+ e- z. p. N' i[statements] # L' J! T3 h0 W4 n% O# [* C
LOOP [{While | Until } condition ]
; g" p$ p) z% `- A- ]当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
: l% [& l& G9 q# W* `4 uErase
5 d2 z9 f. e$ X" ]( J% P; sErase array 9 y' l" N i/ U. p" T* a, R8 H0 ~
清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
- ^' R& T, E) n8 ~Exit
2 I1 v, M; i2 z" l6 M+ P" t! qExit Do 2 `' C# \* c1 @0 v# Q# |
退出一个 DO . . . LOOP 循环。
' P |2 D" _$ `( ~' R0 T FExit For
/ O$ n. \: E/ j" m4 L" U. J. ~退出一个 For . . . Next 循环或For Each . . . Next循环。
8 [+ y% E x# {" }9 P# k0 EExit Function
5 O$ s1 t2 {! U4 |( A$ Y6 ]: v退出一个 函数。 # }! X4 I7 P W* A8 d0 u
Exit Sub
/ R( {0 {6 @% Q, g& f退出一个子程序。
8 H, R: O+ h6 V7 I8 }For . . . Next ) K; i& |7 I6 h! M7 f* E4 s
For counter = start To End [Step step]
+ F" g. n4 \& M4 |, r7 M: ?[statements]
5 }6 u- E( r& a( h[Exit For] + j- B5 ~! [: W0 w: j. { L9 H
[statements]
1 f# s, h E. |) dNext
" p- D' ]. e1 A) y由loop 计数器指定的次数重复执行statements语句群。
# y% y7 ^0 ?" P' s8 z1 rFor Each . . . Next
( Q, [- \" m, _- o7 SFor Each element In group o8 P6 m- B4 ?
[statements] 1 @/ K5 }4 ^" Q3 p: `: R9 }1 H
[Exit For]
8 S4 A+ {8 q) v) K[statements]
( j+ }3 ~& {& |. l$ wNext [element]
& z7 T; R6 d8 M$ `% J对于每一个在数组或集合中的元素,重复执行statements语句群。
6 W3 u. L; Q! D7 NFunction ' v( o% _6 T% l9 u
[Public | Private] Function name [(arglist)] $ L, F4 t0 J5 u! l4 A4 }
[statements] , t0 n8 h1 o5 L! C& v* e
[name=expression] 8 i' h; q' b7 C$ g
[Exit Function] ' ^: u9 {, T2 V; W7 f! o( E
[statements] 2 K7 R7 E5 r3 V- p) h2 R
[name=expression] 5 m7 p1 C& f5 ?6 h$ l( S6 L4 |
End Function * u+ v) t- k3 v' t/ R5 H6 n$ w
定义一个函数,指明函数名,参数及代码。
4 R+ O) u3 }2 z. d8 ?5 x- t4 pIf . . . Then . . . Else 7 o1 m9 D" Y& W4 h- z8 a7 [! h
语法1:
1 a: k' @" n2 A2 w4 ?5 PIf condition Then statements [Else elsestatements]
3 L q* n0 ~' C' c语法2: 6 N8 d% }2 n9 o4 u
If condition Then
" ~2 ^$ S: N: l! \# Nstatements
5 v' F5 w5 D( Z+ @9 u[ElseIf condition-n Then
- ?7 V. z0 l" X/ O[elseifstatements]] . . . % {/ G0 F) U$ d M2 W
[Else
% Y; i, T& v! I6 |/ n0 `[elsestatements]]
8 _# K$ B$ D' ~4 V7 t1 zEnd If
2 k B. u3 G2 b9 _3 Q两种格式都条件执行一系列语句。 * q9 A6 t1 q: v" }2 W. x6 j
On Error
- s3 t& g) m+ |4 NOn Error Resume Next
: u/ I$ t. }$ V! d" m5 F" M当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
! D( ?' f3 i1 K5 K" T( qOption Explicit / P; G' t. u& y. z
Option Explicit : v+ D( r- T. v0 a
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 - L9 n5 c' l: ^: u `* n
Private . X" A9 s( y9 s$ ]+ v7 x3 `
Private varname[([下标])][, varname[([下标])] . . . 3 o/ y9 G5 z/ c5 ~, o) D) F
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
! x* F! G" w o! I. ?$ [4 HPublic - e( \( A+ [+ g
Public varname[([下标])][, varname[([下标])] . . . ( t3 Z/ J: f' R( u2 _
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用) : z+ ~5 Z2 t8 [+ H
Randomize . z3 C& v& c% o
Randomize [number]
+ D( F6 L* L2 ?) w1 c: \给Rnd函数的随机数发生器一个新种子值。 4 A& o% v+ V$ v) k
ReDim * r/ I' [. } s
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . 7 G0 V* Y1 S% n: G
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
, h6 v# j* w4 W0 H8 l$ W6 ^Rem 4 |% L) T+ }3 P2 e! P2 ?- h
语法1: # O; ?) r, y+ Y" O! i$ h5 v/ R" l
Rem comment # n2 \* S& q; t. k
语法2: ) @1 A/ x$ K1 ]) E% l; U' G
‘comment - g6 Q# X# \! F. `+ B
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 1 f) L$ W6 d: V' s) j/ r2 ?
Select Case 9 q4 r6 {. e3 }- L
Select Case testexpression ' C% d" P+ F- V- t( a2 j$ T# |* |
[Case expressionlist-n
; ]! ^+ [3 d1 K- h9 _% X. E[statements-n]] . . . 4 D- u( h. x8 d8 N
[Case Else expressionlist-n " O# P G1 ~4 Q+ }! w' Y* e
[elsestatements-n]]
% Q" @1 d* W. T2 L$ t$ d) |* |. OEnd Select
: L* M# \+ l% h* O2 J如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
" I! d" d& }3 Z R2 Z) u# k) hSet 8 E2 ^7 g# J' l7 F2 Y3 L T c
Set obectvar= {objectexpression | Nothing} 8 N, z. d3 f K( j
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。 - d t0 m" O) }0 W5 \
Sub
7 [& q6 { v' |: F[Public | Private] Sub name [(arglist)]
/ V8 |2 F/ |7 r" h3 Q' Z% Z[statements] & t! t9 `3 F. F8 _
[Exit Sub]
3 ^8 Q y5 N- D* C' B6 t7 F[statements]
; w; }1 l% V9 j2 UEnd Sub
7 ], o. Q$ X( q; \: X& s定义一个子程序,指明名称,参数及代码。 ; B6 {5 @1 C( Y; N- z' l0 x
While . . . Wend
. y3 ?# t6 E& Z7 HWhile condition
, u6 p- r: A+ T' x e; \# Y6 F[statements] ! [3 I- o! E W$ u0 L
Wend
4 ` f* E! w. e0 L不停地连续执行语句statements 直到条件condition为True。 2 ], d! h5 P; T7 ~% I9 L# G
. {! m/ e7 H: |6 u& Q: G f. N |