|
来源:http://blog.csdn.net/aspstu/
- I) s$ ~9 N' V. j0 R- @语句
3 o7 J7 G) `2 N' ?6 D, @; BCall ) G y7 ^1 W: u+ n! o" i/ `
[call] name [argumentlist] % t/ ~. c1 p0 M; h8 o8 W8 g4 I$ V
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。
9 I& G. e% ?# [Const
( A+ X& |- g1 f6 t H3 o% ~% r[Public | Private] Const constantname=expression
0 M. S2 I0 D9 W( p* x7 _用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
- t5 M8 m3 w, A; y- X4 oDim
, |- O6 ?$ d; k5 XDim varname[ ( [subscripts])][, varname [( [subscripts])]... * X8 W/ _8 K( L( f# L6 q
创建一个新变量并且分配存储空间。
4 c" [) Z' v: A4 _ i5 A* WDO . . . LOOP I `% J. f7 y7 L# |. b' X
语法 1:
K. ?4 H& l4 f/ S* A" L4 q/ eDo [{While | Until } condition ] ; @8 Q( F% g$ {
[statements]
& ]- b7 V& ]% ]2 ][Exit Do]
1 T0 _6 M1 k' ~% C5 C1 u4 G$ v5 T/ u[statements]
. I: y, g2 Q+ Q" G0 w1 rLOOP 5 ~, P: v2 Q9 j9 k' h3 x
语法 2:
9 g8 V2 C \6 i, h1 [% ^2 eDo 4 }! o6 y. K& W
[statements]
/ S! q, E7 w4 F# u- ?: S[Exit Do]
! O, J2 e5 I4 G1 [) h3 o[statements]
& [7 W" t j0 w2 ?. @6 N: ALOOP [{While | Until } condition ]
+ \0 m0 _" w. |9 `' A; e当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
$ Z- z+ W% f3 W& x4 k8 Q7 KErase
' E! a% i, ~" Y* @* SErase array
* C& n0 Y* n) d! y9 }! ]# n清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。 ' |. d$ t. w! J* Y5 s# q: P. f
Exit
1 w8 \9 ?8 h: a6 ^# jExit Do
% v# R5 H& T" o! W" N& K! c退出一个 DO . . . LOOP 循环。
! G' [2 }; @+ m$ I8 l5 bExit For
, `3 |8 C4 `" }$ h( c9 b退出一个 For . . . Next 循环或For Each . . . Next循环。 0 R6 _. b( o+ m& s8 o# @/ r3 O( d
Exit Function % v" B) x5 ?" }) e
退出一个 函数。
, f+ H. a) V8 f* Y9 K- {% q8 p+ ^Exit Sub $ F4 u0 H; H' o b) H8 A5 C$ r) g
退出一个子程序。 0 v2 g8 M5 i% y. d
For . . . Next
: b; X' t( k% Q! @- Z: \1 Q$ KFor counter = start To End [Step step]
3 O1 [0 g; q+ z[statements]
6 z0 Q u. M1 J' F8 T0 M4 ^[Exit For] 1 [3 w& v$ d: Y, I
[statements]
2 y. }# `+ m# X( TNext
: A/ \5 l) l. s- Z+ v由loop 计数器指定的次数重复执行statements语句群。 7 o2 A8 z, D; |8 o- M
For Each . . . Next
H; ~- I1 ] R- B) S2 JFor Each element In group
" h6 d: g2 C: M. R, l8 s# L[statements]
! a9 `' N: C. `$ k+ [% P) s2 A% f# J) u[Exit For] * P+ k$ q) H; M/ G9 ?, o5 M
[statements]
4 k6 j" J- S( S& oNext [element] $ A4 I- p1 P# {2 A0 X( w
对于每一个在数组或集合中的元素,重复执行statements语句群。
1 n, Y( ^% I, p9 ~4 l3 \+ ^2 G" \Function
0 w, h$ B$ _, B' {! M[Public | Private] Function name [(arglist)]
* Y; t) c1 }7 t+ a[statements] 6 [: n! F4 q7 S6 b2 F0 y
[name=expression] & Y+ C! @6 ?5 \3 u
[Exit Function]
1 P D. k8 t8 ^2 ^9 b[statements]
" H9 Q6 _8 R" f* n9 C% a[name=expression] " v3 @7 N7 m1 o9 g! `# ~
End Function
% D9 T7 f X) Q$ N% P- l3 ?定义一个函数,指明函数名,参数及代码。
7 o5 H) U6 i& S. A1 E$ [If . . . Then . . . Else
3 H; ] F5 s2 o% \ g语法1: ! l% h$ ~ `; W/ T0 c
If condition Then statements [Else elsestatements] 6 i* E2 N- q3 x6 I5 M G7 Q" S! f- f
语法2:
w4 Z( _3 @% `6 P$ m0 z% v8 A/ ?If condition Then
" |# {6 ~' W1 q9 X8 e5 R' Cstatements
' @* }+ \" R! e- d9 ?2 J& l8 [[ElseIf condition-n Then
- y. f/ k, w2 X0 a C3 e[elseifstatements]] . . . ; E5 F' C5 C, ^; }# I- @4 P8 w
[Else
4 @5 `6 d8 g v# N m0 w[elsestatements]]
3 _8 P, u: O1 @5 e2 V6 KEnd If
, U: T& i. q) o两种格式都条件执行一系列语句。 $ d2 ?; n0 p" m: a) [# `
On Error + n$ [9 Q' j; M0 j* d' o
On Error Resume Next
; z4 K9 I! {. J3 n% G5 X6 P$ y当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
4 h$ i5 _# `7 B9 i! @6 VOption Explicit . J% ]- B# e3 K* ?) x' P
Option Explicit 9 t, N, T6 X/ \
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 2 f( f5 u8 U4 T1 ~8 R
Private * z6 K' k! s9 E
Private varname[([下标])][, varname[([下标])] . . . ' |$ U6 G& q4 w
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) 4 L# s( I! g9 j/ D
Public
) D- f" J, ]. kPublic varname[([下标])][, varname[([下标])] . . . / q& o" r j. H! J) T1 E; u+ j
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
1 m4 h/ \1 V3 `) h5 H! |Randomize
6 V3 _$ ~: V' V w! oRandomize [number] ) ~1 @- N! ]- [# r
给Rnd函数的随机数发生器一个新种子值。
5 \) K7 \3 s/ y& ~8 \/ B. {ReDim 5 J* j3 @6 I# y
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . + E+ C& H; {' b" o) P& j
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 2 i/ e: P1 [" ~& y. [3 M5 D; ?
Rem
, h& N6 V7 Z M语法1: 0 ]& L t3 H% r& X6 O
Rem comment 3 j3 P% ~' T: ~1 ~. c
语法2: * S0 O4 f, S2 _! I% k# N
‘comment - x& {" y+ k' _) N+ w- W5 R& s
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 6 u$ a* S6 v# u, _- S+ E8 P9 |
Select Case
w! K' m2 O8 b( QSelect Case testexpression & T6 T( f7 u. I# a6 @
[Case expressionlist-n # b4 L/ a; v7 F- A5 s
[statements-n]] . . .
- u0 H8 w5 q0 a[Case Else expressionlist-n 1 m3 T3 p6 ^! } g) M7 C/ K
[elsestatements-n]] " |, t% P7 O3 K9 A/ G
End Select 4 }/ g: Z7 l1 X. ^; r
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
/ `! u5 @/ \6 LSet 6 z3 [! R. r. P
Set obectvar= {objectexpression | Nothing} 1 B0 ]5 h$ ]/ k& g7 K$ @& M
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
9 A7 n% `) K3 i l3 t* mSub
7 S0 j- T2 p+ U! E/ m: P[Public | Private] Sub name [(arglist)] # k+ H3 d/ ?' ^
[statements] 9 R F0 R/ x- \! B% H& y. J
[Exit Sub]
w9 Z- n6 x4 p& `5 j/ g3 R[statements]
8 `2 a' L% E3 F0 KEnd Sub
+ ?7 [; y1 \6 K3 ]) }定义一个子程序,指明名称,参数及代码。 . q- O( W8 r, n6 ^# ]* U3 W
While . . . Wend + O6 ]! ~8 d: _8 Y
While condition 6 I. Q7 u1 z- i- [
[statements]
# K# s* ?/ n0 e) g' f$ e+ HWend
' g2 A' I0 p W9 {1 a, G! s8 W不停地连续执行语句statements 直到条件condition为True。 ( r0 q3 [2 [; u- w: ~8 C% ~
4 B+ V6 G' b9 {& r2 I! n9 |( D) a
|