|
来源:http://blog.csdn.net/aspstu/
; t2 h- |# w+ X! C3 S3 Q3 F语句
( h8 M5 R! i* d! l, ZCall
* T7 k4 x; T" I6 H6 |) V[call] name [argumentlist] , F0 y; f- O6 Q. V9 j
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 7 }% ~' I) }7 o% c, _
Const
3 K! W4 Q4 c7 e" z& M+ r& S" R1 i[Public | Private] Const constantname=expression # Z9 J$ k0 @2 v" P/ U& h
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
5 C# ~: A1 c7 Y: v$ aDim # w0 l6 Y! i* @) j3 g: _ r
Dim varname[ ( [subscripts])][, varname [( [subscripts])]... : `" B( M: e( H4 J1 l5 u8 B0 b7 S' G
创建一个新变量并且分配存储空间。
4 A1 `; V( z) i$ L; |2 VDO . . . LOOP V! H# o* m8 j n. X% O' b6 g7 U
语法 1:
% l9 T7 x; z# S" ^2 D, nDo [{While | Until } condition ]
, k9 ~" W) R+ o# g9 C/ k$ Z[statements]
7 q |- |' a8 |; E1 h9 T[Exit Do] ! g3 R, U- |2 }7 l* N
[statements]
& {3 Z& R4 l0 W/ e6 L1 C8 ~LOOP
2 \' k! i8 `7 u8 Y& l) D语法 2: ) E6 _ i) X' M8 @0 c
Do
+ |1 |2 ~# C7 A" T4 Y* K+ Q[statements] & L) ~+ d. z4 A# Z6 n, X
[Exit Do]
& Y, ?1 H8 ?3 d( U8 Y r! ~1 S[statements] ) b7 a a/ l1 X
LOOP [{While | Until } condition ]
; Y: {1 q9 e% Y6 D6 C7 N& ^; g$ i当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。 ( a8 v! G) ]& V, u
Erase & s7 L' n- P, _% q8 Z5 V- i
Erase array
0 v; M9 N1 B8 K$ ]; U o9 A清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
. L4 i; G* p9 j& b' MExit
, ^( ]" ]& r# w: [Exit Do + k9 S" E0 I$ K. J
退出一个 DO . . . LOOP 循环。 ; i+ W6 P! N6 ~7 k0 j/ v( E) L
Exit For : `% C S6 D/ Q( z
退出一个 For . . . Next 循环或For Each . . . Next循环。 ) X+ d; u- k% `2 Q2 k: n
Exit Function
$ ~9 {5 I8 ]! U* f2 i/ q退出一个 函数。
$ g; p( H! y O. c, O* rExit Sub 2 g" m4 N! g5 p _& m
退出一个子程序。 % c2 z2 R4 `4 s
For . . . Next + n0 i- p2 j* z& C1 N7 {2 t ?
For counter = start To End [Step step] # v; M& X" j) y% f0 n. [+ l" W
[statements] 8 F% Y Z! b# H2 I4 v+ V, Y5 p
[Exit For] * \$ E! s" o7 p8 ^1 T& k/ \
[statements]
" L3 |% I, k; t' U+ d4 J1 r8 yNext
# o+ v! P7 C1 v, V8 K# U! h) f由loop 计数器指定的次数重复执行statements语句群。
" _" y0 O. n& k5 z2 b5 D0 g, qFor Each . . . Next
* e( R+ I! P6 F2 w0 W3 m* i' |For Each element In group
v) Y1 F# D- p% B/ b3 N! Q% s[statements]
) v" Q3 N& Z# h2 i3 C[Exit For]
9 Y+ c4 @ e; O- |7 @$ v. m9 ~[statements] 2 |! a3 | Z" `0 h7 \
Next [element]
5 D* B. C# r/ _" Q/ p5 n6 C5 J( C对于每一个在数组或集合中的元素,重复执行statements语句群。
I" r2 V% t1 V. |& R8 YFunction
, W" k0 k* V" v& M0 Y8 K* `& [: T[Public | Private] Function name [(arglist)] ! W# A$ U5 E% P0 p- |) h
[statements]
" i }2 S1 [/ [5 r[name=expression] ! \9 y1 U( V9 [- r; M* `( N$ t# d
[Exit Function] 7 d/ N2 j1 d; {
[statements]
* h% }+ f% q# q) _7 D[name=expression] ; n3 B( v+ T D7 j5 l) P, O
End Function 6 v% O3 B' n, F4 e. }% t
定义一个函数,指明函数名,参数及代码。 ) i: k5 W# }! Z* _
If . . . Then . . . Else
7 X+ y( B. K ?9 Q, `语法1:
* U" h3 m" U0 MIf condition Then statements [Else elsestatements]
' F& k/ c, I( v& [语法2: 8 V. D# b2 y- a N; u/ B
If condition Then 3 k9 D# w3 }( m: i$ p: c6 o
statements
+ _$ N7 n7 n; D" J0 U U; U/ R[ElseIf condition-n Then
( M l$ u9 @( m5 K[elseifstatements]] . . .
# K8 F0 V: X9 n6 \[Else
# A; b& I% d1 X, {[elsestatements]] * Z# {% Z8 G, b% x
End If
! [9 k& K* J0 S* Q9 d$ |* K两种格式都条件执行一系列语句。 / [1 T; @9 q6 @& X2 Q
On Error
l% _: e* b. H. G. B" H' ROn Error Resume Next
% B( v9 C$ i7 v$ O: G当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
$ ]" q; {. s+ r; ?# J5 u2 AOption Explicit n& g% P. }% q% v
Option Explicit , }3 ?# r( \0 W1 S- k
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 - ?7 F z+ V% @& U7 M
Private - j9 _8 y) k. z2 b S/ I1 L
Private varname[([下标])][, varname[([下标])] . . .
2 R' i c7 f' t4 _; W创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) 3 ^' [6 S# x% j, O; }0 f2 q( s: A
Public
% S& ]+ e9 p: _4 b' ~Public varname[([下标])][, varname[([下标])] . . .
; e- _$ ~/ v# [+ k J. j0 p+ o* A创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
9 b5 T( q; H& C X$ BRandomize 1 o8 T- ~. h% n# f
Randomize [number]
5 K. G+ n3 n N3 O给Rnd函数的随机数发生器一个新种子值。 7 U9 T: `4 U6 ?* G% q# c- ~! X
ReDim $ \9 t' X, k' |
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . - ]4 O' O/ }( c
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 2 O7 m. C8 D* q& Y- ]
Rem
5 _9 _$ z, O0 [语法1: 2 [2 h6 R4 y0 l, d- k g5 r
Rem comment
2 ^, o) ]! x# c4 H3 J语法2:
+ @ {( C7 D k& n‘comment
# `: _- @" N' @, O- k; r0 R这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 1 `8 H1 P l1 S, r& N
Select Case
, n. ?4 }" T0 Y8 A6 N2 u8 USelect Case testexpression
- D1 [/ g. P8 z3 S1 \* |5 m. d% n[Case expressionlist-n 2 ^% d( \4 b( ~* _) L7 M7 d" D
[statements-n]] . . . 7 z9 }$ M' [+ A1 b* n
[Case Else expressionlist-n 7 g$ @7 ]5 x) W4 P2 L2 j
[elsestatements-n]]
. W! W% h% n$ `- X2 m! h REnd Select
" t e4 H5 f: B3 W如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。 + ?" G( C; z; ` J( L, r! X
Set * e" J0 ^. a9 g+ B& b
Set obectvar= {objectexpression | Nothing}
2 S9 W6 ]' h3 [3 b赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
. \, m; q) u BSub
$ B) [% i0 c: T# T, Q[Public | Private] Sub name [(arglist)]
3 ~1 H3 X. z7 M f[statements]
/ {9 [( {. Y) s" G o[Exit Sub] # z* d7 B, B5 Q8 u6 w @
[statements] 2 i' K7 A& M9 G( |& c
End Sub
2 Y3 w7 |4 A, ~: I% H定义一个子程序,指明名称,参数及代码。 / t5 n) P* j7 n
While . . . Wend 6 H) [7 a" ^! N" A
While condition
) O5 F4 Y+ t& }[statements]
: L- h. B& [( e7 D) G% R% B3 hWend
|; i; K$ B y; j0 t+ T% F9 o不停地连续执行语句statements 直到条件condition为True。 $ v' h& u- y( T
0 e: ^4 y; |! t4 v3 r
|