|
来源:http://blog.csdn.net/aspstu/ , q% _2 h# P m+ \- d1 P" G
语句# i6 I1 V* `" r7 f2 ]" n8 Q
Call # `8 r- Q; }6 d0 g3 S
[call] name [argumentlist] , K; w' A* V) p1 \2 j/ e$ q
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。
$ o1 }' z+ g3 XConst # A5 Z- q+ e* K4 i: E0 S# A
[Public | Private] Const constantname=expression ; U# L! P# d5 R+ x& `3 ?& g
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
6 T4 _ L4 Y- c$ ~$ ^; XDim
[0 X* b3 e7 } X( F/ {* ODim varname[ ( [subscripts])][, varname [( [subscripts])]... " {0 `; c1 t9 }, T/ `2 {+ E. D
创建一个新变量并且分配存储空间。 8 {8 i E# n: `1 r
DO . . . LOOP
2 R" q6 a" |1 F& @语法 1: ( F/ \# X/ p8 u9 B3 L" j
Do [{While | Until } condition ] ) m$ F: `9 z! r
[statements] 8 E+ Y- |# F/ V4 G' U6 o
[Exit Do]
0 T, k; q& \/ O, E: ]. X[statements] / U" B+ ^" i8 O( D0 d7 r
LOOP 3 D& u! B. V! q d) Y
语法 2: / w' D# b# V7 v6 {: M+ l
Do
4 ~1 e; e- N1 e7 E- D[statements] " E( g. g8 ^2 U/ o5 Q( K3 c9 v
[Exit Do]
, z* e1 j @& F7 X$ z" y$ `[statements] % s: V Q' ]# h
LOOP [{While | Until } condition ] . w7 r: ?8 H1 ^
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
1 O- O' o- {+ t2 C3 TErase 8 b w" u: H5 n+ f9 k, L+ f
Erase array
% \* D2 O/ i* \% g7 f' Z/ z3 w清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
8 v3 [# E& C+ E! `4 N& V _4 yExit ! d9 R$ f" H3 k# f
Exit Do
1 q% n; `" ^6 Y- E4 S退出一个 DO . . . LOOP 循环。 3 d; J+ e/ l! S X5 k
Exit For / w' x# _4 u/ T' c0 Z3 { e
退出一个 For . . . Next 循环或For Each . . . Next循环。
+ y4 D" k: q0 t6 qExit Function . \5 N: M' h1 s' x/ j1 X
退出一个 函数。 ; r2 S" y2 P( C
Exit Sub ) n. V+ Y5 s% b- O/ a
退出一个子程序。
2 m& x1 L& y1 g9 c8 Z: _For . . . Next
$ F' G+ s w MFor counter = start To End [Step step]
4 S: o* N7 Q$ ]7 [/ g[statements] . H$ A* q% j# O D
[Exit For]
* w8 x& r: y* r[statements] , E1 i" j3 C+ [" @% C
Next
% M. C" G' R8 ~ R# @' i由loop 计数器指定的次数重复执行statements语句群。 ; ?3 B! E l7 a# v. t* J+ Q3 o
For Each . . . Next 4 U. i) t1 X4 C# G+ e4 r- `) R1 g
For Each element In group
: f7 ~) g5 E0 Y/ T% t {& u[statements] 8 b. r' K% K: B* j3 K
[Exit For]
. U% r# |0 Y- {( t[statements]
& a1 e, z' ^; b. S' DNext [element]
$ C* @2 V; }7 P) O对于每一个在数组或集合中的元素,重复执行statements语句群。 . t, [6 K/ h' d/ I6 d+ Q1 j
Function . v/ l% n3 R/ K, d' o! Q
[Public | Private] Function name [(arglist)]
% M6 N7 O4 [7 V8 Z' R4 |; O" h[statements] - _% K! n8 o5 |+ O
[name=expression] 4 S, s% Y$ a/ o9 r1 Q
[Exit Function]
P" M" T5 p7 Y6 e[statements] ( N1 r4 E9 O/ a/ n
[name=expression] 8 B2 R; T% `7 d) r7 _6 j
End Function
8 i" h- D; c5 g/ t- @ B定义一个函数,指明函数名,参数及代码。 0 K1 ^2 q5 Y/ k" I! l
If . . . Then . . . Else 9 F( L7 w& u, Q+ |6 B
语法1:
1 U3 v+ c1 i; W/ x7 vIf condition Then statements [Else elsestatements] R9 Y6 D9 N! X
语法2:
S9 M4 k9 Z( l' MIf condition Then : T) Z# _$ K" J8 f: O7 Z
statements
* O6 V ~, T, x* v* P9 y0 ][ElseIf condition-n Then
) o0 p; q4 S9 \/ F[elseifstatements]] . . .
1 q1 l/ B0 n) j6 b[Else 5 G$ I n8 y2 f, \( y
[elsestatements]]
& K9 a( r! h; v5 M3 tEnd If 1 Y9 U& @/ a4 e$ w
两种格式都条件执行一系列语句。 0 {' H6 Z2 x9 e( x+ ]! r
On Error + f. _7 r1 [- z2 ]6 O; x7 o) P* l* W
On Error Resume Next - _- a$ ^' f5 @! E
当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。 $ A. _7 i# ^+ {9 g8 Q* p2 B5 D0 B
Option Explicit 9 n$ M' w! W/ o
Option Explicit
6 v+ o0 i, L9 d1 x6 J* U在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 8 s2 E+ [- h# W& P
Private # q) i8 w/ |$ R' z# R) _5 Q* I
Private varname[([下标])][, varname[([下标])] . . .
: k `- }, o- d. F创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
7 c3 @- R4 u5 R( l- g# tPublic ( U0 c: b/ ?5 ]: X
Public varname[([下标])][, varname[([下标])] . . . 9 |6 d) `' F: A* E9 b8 |9 k
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用) a: i( M) P: L. l' V4 p2 Z
Randomize
$ N+ W+ }! l. B- y# L, E6 iRandomize [number]
' L/ \( [( I0 @给Rnd函数的随机数发生器一个新种子值。
/ `$ d# s% R2 Y; J( p% kReDim 7 S* C. K a7 ^3 C, p
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . .
- l- s( y# X) l% s, k修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
0 ^: ]- u0 v* p6 g. ~: W2 \Rem 4 y( R2 p0 |9 `% p
语法1: . a( _1 o' ^& Q
Rem comment
@# q$ y$ P6 p) _( f2 M语法2: % J, @3 |' B% g! y" T. C- Z n0 @
‘comment " |" Y" W9 K1 E& G3 X
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
. p7 K# |. U$ c2 `% ?6 A5 cSelect Case
/ I" @6 p. G) p4 W, x; cSelect Case testexpression # A* i" o- f/ h0 }
[Case expressionlist-n
6 Q* i6 }, F5 o5 M3 h[statements-n]] . . .
9 h1 ~9 h7 h$ p[Case Else expressionlist-n
6 z& E# Y3 E& h5 s' C: ]4 K+ L; E[elsestatements-n]] : K0 h1 K; K4 b$ e
End Select
" B) a+ J- E* d! i1 q' }如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。 4 @7 d% @3 P2 Q3 f9 e
Set : x: l+ ~: g9 F% y! D# u
Set obectvar= {objectexpression | Nothing}
; v) \+ ?' @- G5 b* Q赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
2 X; e) {. |. u1 q |2 S& QSub
1 f7 \+ `+ M1 I[Public | Private] Sub name [(arglist)] , Z$ K3 ~& q9 C8 C* H0 t6 m, d
[statements] % I' T" B4 |4 ?: z9 I& G
[Exit Sub]
O, L2 d: t: m4 y" I) u[statements] ) ]' ?" M9 w. k) p. Y
End Sub ) B0 F1 s7 \ ?5 n% F- x2 G0 k
定义一个子程序,指明名称,参数及代码。 : S; H" m# V _& I- r+ X# S
While . . . Wend $ }/ \5 n7 w; o f& B6 }1 c
While condition
3 l; ^! Z9 S& o. \, K( o[statements] & p& W5 }. @9 t/ ]
Wend
8 z, b5 r- w9 ~不停地连续执行语句statements 直到条件condition为True。
$ p5 n) {/ J2 u# y! Y% W) ~
! q! _/ m/ _" Y |