|
来源:http://blog.csdn.net/aspstu/
. q) {! M* g: M% z+ J/ ~语句
# H" ~; D- `( w0 iCall 3 r6 W% z4 e' }4 x Q. M) u
[call] name [argumentlist] 6 S; ^$ i% a7 p& B# |$ l
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 - e# Q/ f5 {0 v
Const
X. i4 M2 Y) ~0 w' t1 G[Public | Private] Const constantname=expression
& ]- L, b, U2 Y! p# O m- f用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
2 x- a1 E# }! V9 \Dim
0 V# `, j% u. r% o2 `3 _* E! YDim varname[ ( [subscripts])][, varname [( [subscripts])]... $ p4 n8 }$ \0 G4 n" s) A2 f
创建一个新变量并且分配存储空间。 # ~6 F# u+ a3 g& A" J& d
DO . . . LOOP
" p& F6 u" K. m) a" X% E1 l语法 1: * `# \7 Y* Q" ^. F X8 k; ^: |
Do [{While | Until } condition ]
1 P* T8 l. X: T( ]( B0 j[statements] 8 K" }% ?% {" q* T) |
[Exit Do]
8 K* ^! S/ N4 K' g# S- z" N! H! r: _[statements] : {# A1 F0 C5 g: a% R8 T* j& V
LOOP
0 r0 U( q3 d' B! o. A0 R语法 2:
; j; z* F: J( L' E" A6 TDo
% H6 D. D' U5 r[statements]
' E1 [+ t- j, t% q3 d+ }[Exit Do] ; w( ?6 d1 s4 g9 V
[statements] ' T: \% D. ?4 }# _/ C" o$ S
LOOP [{While | Until } condition ] # L7 V$ `; o( Y, b% ~3 o5 w, [5 d3 j
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。 * z- r6 L- J# _& B3 P! M
Erase
2 x/ W7 L. R* O1 I6 a/ aErase array 2 l6 b) P0 [: M. R8 m2 R
清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。 " b+ Z$ K) S/ C& _) e3 M( M& o
Exit : |% O8 V( r* e8 `: x
Exit Do $ }- E7 c0 V3 p4 _$ P
退出一个 DO . . . LOOP 循环。 3 p2 @! H9 z$ @" i
Exit For
( O, E- w S4 e) N5 V. S. B退出一个 For . . . Next 循环或For Each . . . Next循环。
7 e* `* o! b, _# W) vExit Function $ A: r }# i; W3 {1 v& |/ b) e4 s$ L
退出一个 函数。
$ ]" N5 [, b0 B- h3 XExit Sub
( |0 A6 Q# d" Y9 v! O( _3 q/ k退出一个子程序。 4 y1 ]# L: Y% i( k( f; H
For . . . Next
& j* G0 F: k; F* OFor counter = start To End [Step step]
! k! l+ N) M: y; B {[statements]
2 v, N. ^/ k2 R" p[Exit For] 9 a" ]; r" A2 v, s1 u9 H
[statements]
7 D+ l6 W% \( ]+ F- g0 {. eNext . S: u$ t! P. \4 Q, ]0 j) o V% P
由loop 计数器指定的次数重复执行statements语句群。 , R& i) K4 F- z" v7 g" @( x: I% S/ U
For Each . . . Next
( _6 R. S7 V5 JFor Each element In group 1 J- S* D- X1 G$ C* ^& o [
[statements]
! _( z+ X+ X9 e2 x) p[Exit For]
7 k" P. |: \% s/ {- L[statements] 8 t: r3 R ?& @5 w1 k* D
Next [element] - x, C# `' {: O& g- C5 F5 T
对于每一个在数组或集合中的元素,重复执行statements语句群。
% C( c" V7 ~# ]2 L' K- yFunction 1 C/ R1 }; i8 Q' S3 ?5 ? s$ v
[Public | Private] Function name [(arglist)]
. ^7 E: @: }8 h) r, Q( L }[statements] * t9 E8 p% k0 j# i2 H0 q
[name=expression]
7 q9 Q% {! [* k9 l# ~! U7 D[Exit Function] 6 n9 l6 C/ n# E8 B" j
[statements] 0 A; N: d8 i! i2 f1 z, ^9 T& ~% q
[name=expression] d; e8 d! t9 ~0 ~
End Function & S" ~. h% m) W8 R# U X
定义一个函数,指明函数名,参数及代码。 / b" z9 X6 A6 Z' L2 J* _( z
If . . . Then . . . Else $ i: S2 T% n2 W
语法1:
, b7 p, i6 Q5 E" F* b% O, I) ZIf condition Then statements [Else elsestatements]
% {1 h. N2 C* T/ z; i语法2: / B1 g( Y! @$ f9 f7 m# y# w7 W/ n/ ^& D; I' `
If condition Then 2 g; X; F) ^0 B
statements
. ~3 w6 U' Q. A% P[ElseIf condition-n Then
4 G8 t7 b0 |0 X[elseifstatements]] . . .
8 M) N8 U7 m9 g0 e[Else * a1 L. z: L+ P/ R2 |$ U
[elsestatements]] / w# f6 u# ]0 s/ Q& N0 I
End If C3 D- U" w# z$ W
两种格式都条件执行一系列语句。 + ? W5 Y6 \: {" k' m0 r* G8 N/ c/ j# D
On Error
: x; B! K! q2 }, [4 F3 mOn Error Resume Next
- m. {6 v2 h2 n0 {9 V5 [当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
+ c* F* u( @: d; |) tOption Explicit
3 L* U& A4 p' K3 F$ l9 K; NOption Explicit - L( @4 y, L3 }4 C0 w$ }0 H
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
% d3 T6 V4 v% R$ B" F2 [; g" PPrivate
* q* g X4 h/ ~8 t6 KPrivate varname[([下标])][, varname[([下标])] . . .
- @9 q3 |6 x" ?2 u创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
3 _2 L6 G+ j" O$ e2 r# o: L jPublic
. T- r% g' w v. j3 V8 Y SPublic varname[([下标])][, varname[([下标])] . . .
1 M7 k# H" q% L, R创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用) , u7 Q! O, C% y* S3 S
Randomize
9 l9 `- e7 M. b7 u: e7 rRandomize [number]
2 ^' |' r( @5 G& M* q7 M/ L% w给Rnd函数的随机数发生器一个新种子值。 3 \/ X9 |3 K* }2 E" v9 l
ReDim
" t+ A' X4 N; U6 V; y- C( V( {ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . 3 x0 O) C. @$ q: d8 |' D1 u0 i
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
) Y9 H9 j: u: sRem 2 u8 P0 N$ o' Q" q9 C! Z& Y
语法1:
+ T& S8 x) W. |: hRem comment % C6 k# M* T; Q) r
语法2:
+ q6 k1 x5 c! {7 D‘comment
- Y8 @- Q; @3 q2 B( m1 G& b这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
; {8 z0 U) m, s q( h- XSelect Case ) O5 [0 s/ a" K
Select Case testexpression 4 s: e \5 L& l6 X9 J S& G; s! b" I
[Case expressionlist-n ! o9 x2 Q( B) E$ z G$ F `1 f
[statements-n]] . . .
) f( k# v. A$ X. c0 g; I[Case Else expressionlist-n 8 j* f1 A6 q$ o: [7 q6 j
[elsestatements-n]] 4 l. I7 b% R0 Z' B+ [
End Select 5 ]5 V3 g9 g7 A7 [
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
) G2 I/ E6 l1 s* D* Z8 Q/ {9 hSet
2 t" {! n, k" s9 FSet obectvar= {objectexpression | Nothing} 7 q z3 v* g* H% Q* b
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。 - H( ~, M7 R; p K( c$ `3 i
Sub ; [+ V0 g0 U6 U1 s3 ~
[Public | Private] Sub name [(arglist)]
8 V: c/ Q8 H0 f. q2 N[statements]
; L# Y' N$ w9 L% a[Exit Sub]
. y: L: j) z& i5 H2 x2 B H[statements]
3 x( e) Z, P0 M' R ZEnd Sub + N; N7 i% ~5 @6 g. a
定义一个子程序,指明名称,参数及代码。 / ~* z* a; {1 Q6 D$ p* y9 l
While . . . Wend 2 `3 K4 A, z: |3 L; C* R m
While condition
) v3 @& x# \+ K- E2 N# }' f# O) }$ a[statements]
' h& r" \0 l2 T, z, r$ l- W9 d2 _& A4 |Wend , K" o1 b: d" B% E
不停地连续执行语句statements 直到条件condition为True。
* F1 S) A2 s, [6 g6 v$ P0 Y% ?7 S9 Q7 y/ K* J' [ Y4 Y
|