|
来源:http://blog.csdn.net/aspstu/
9 e/ |* V4 l: ~5 f8 C) q' I语句( g- { w* L7 Y* ]% A
Call ! F. W( Z2 R& a* N
[call] name [argumentlist] 0 y4 v1 L- J9 R! |4 o
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 7 ^# B) y. o6 U$ |0 M* B
Const
% j. l# Z- e4 m2 T3 x; M[Public | Private] Const constantname=expression
" [- D' P; ^& j- s用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
5 A+ [9 f9 q: f2 [0 g8 A# ODim
- b8 e# I8 a; dDim varname[ ( [subscripts])][, varname [( [subscripts])]...
+ Q' F' ]2 C$ g6 M! a4 c- L Q创建一个新变量并且分配存储空间。 ! S0 |* Z! H) L x( j
DO . . . LOOP
8 i7 q! R" ^# u语法 1: ; a0 u9 F( a& e# F
Do [{While | Until } condition ] 1 A$ H( w5 x& [4 i* ~
[statements]
7 t- q8 l# |% g9 r6 ]% e, d0 D[Exit Do]
% \ |) e: w' |/ g0 t" x[statements]
& x2 l b( s2 m: j2 ELOOP
/ \) D) [, |7 U/ A; ~语法 2:
* m A2 c% l( B5 \& S% _7 Z6 fDo 7 R4 S$ k/ j( C/ U7 A2 y
[statements] 2 `: \% c- S& l9 x& a
[Exit Do]
1 j, M, ?, }) e1 P! t% \[statements]
- p M c) y1 ^- o( k0 P6 ^& [# tLOOP [{While | Until } condition ] . y6 `; e4 I3 w& P" D# t. b
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。 X" P) |7 n, k- z! m
Erase " l! u+ d; b* u2 Y
Erase array
# _, T8 r3 S' x' Z7 }' S- m3 ?! M清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
' C; d3 [! G5 fExit ) Z' M2 G% g" T8 b; E- k' M
Exit Do : S, _0 W- N c/ R) p Z1 M
退出一个 DO . . . LOOP 循环。 * e) V g4 d8 _
Exit For
$ X: z) Q" R' @; s: V; q退出一个 For . . . Next 循环或For Each . . . Next循环。
/ J# ^3 U7 i! C( ~% S- |Exit Function
" C1 ~1 @$ f3 U. X8 F: i2 m退出一个 函数。 1 B) G4 G$ @( K9 A1 ~
Exit Sub + ]) }# K& L$ u. D" _, E$ L; ]
退出一个子程序。
" j. ?- }) ?7 o+ tFor . . . Next 7 v# |9 `, ?" P7 l. h
For counter = start To End [Step step]
' l& t5 t$ Q9 w4 x% }[statements]
' r, i- |1 d: D, o[Exit For] 4 j/ p* J9 t4 J
[statements]
/ b9 o' z& e' Z+ QNext
) a- k# d2 V2 g0 i# J由loop 计数器指定的次数重复执行statements语句群。
' k/ O. t6 x! {# }& B- R8 E6 l& LFor Each . . . Next 0 G' t- \6 r+ M e7 q @( S2 o: t
For Each element In group ) D5 G# u1 n3 ~( ~
[statements]
0 h* l) {; U8 J6 ?9 p[Exit For]
6 j7 H! i+ E( O2 I6 P[statements]
& C9 N3 ?3 Y h3 H }8 _) k1 Y2 BNext [element]
& x: Z' P4 e' p" I' e, h7 O0 m对于每一个在数组或集合中的元素,重复执行statements语句群。
! ]1 [0 x2 ]2 DFunction . |1 x# @2 q) \, J
[Public | Private] Function name [(arglist)]
5 l; @2 ^; |: t$ x# D- i! y[statements] 6 p4 F+ @% ~+ Y+ W8 v' @
[name=expression] & c' J7 N+ E, N; B, U
[Exit Function] 3 O6 N. g3 h" c0 z7 a5 w& o% S
[statements]
$ y B' Q3 x7 f[name=expression]
" {6 ^7 }7 q, c# t6 @End Function 2 R6 x9 r# I- B3 S5 s: V2 A1 w* `
定义一个函数,指明函数名,参数及代码。 : H& U6 E+ q# w7 J
If . . . Then . . . Else , a+ M/ n" `& x$ t: `) q7 t" g
语法1: / z1 B1 @4 J: I+ m
If condition Then statements [Else elsestatements] 7 i- [2 H5 k8 I6 ~' X
语法2:
: ?" R1 K6 E- f& |! C5 EIf condition Then
0 N' n+ n8 e {) }8 \statements . m' a7 P& y% a2 s9 p, a0 R
[ElseIf condition-n Then ; d! ]4 N5 }* {9 F) \
[elseifstatements]] . . .
4 t6 Y N3 H' X: M5 S[Else 5 t% _! |" Y1 F* _' b7 _2 l. B, j( y
[elsestatements]] $ [) F' A) J* r$ v, w' |
End If
! f# N) y9 F& H$ |5 g* t两种格式都条件执行一系列语句。 2 J# U. ~% ], K
On Error ; M% ]7 g, R, _. k
On Error Resume Next
7 b, e; s0 l9 P2 q0 `当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
+ z5 v, h+ k# h$ D7 f4 S% nOption Explicit % n! o. N. g1 p3 \! d! c2 F% u
Option Explicit , H# k0 l% w4 V! K( U
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 7 I: J8 ]# e7 J% `" D( D
Private " X! _& b$ A2 j* Q. u& } b
Private varname[([下标])][, varname[([下标])] . . . ) a8 e8 `% Z; j8 U( }6 l- v8 D" l
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) ) E+ E* k/ U$ C) F" p0 U1 K$ e
Public 4 o. q; ?: h4 N* J8 |8 k; v
Public varname[([下标])][, varname[([下标])] . . . : r/ K$ p+ \ L
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
* {2 X. I7 J3 \* R j0 URandomize
8 ~! C3 }) X+ t/ X" ?2 b& `Randomize [number]
2 K! [5 t1 _6 v' l% o$ l给Rnd函数的随机数发生器一个新种子值。 ! ~( A U9 I# q5 M: b& X
ReDim : [# U) a2 C5 x: @2 Q- {
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . 3 X% N9 p8 J9 y) k& k' X0 _
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 - m& ]' a3 ?, z
Rem " Z" }3 L% n" X2 G: t+ `
语法1:
b" Z2 y; J0 y. Q3 G! HRem comment
" A, _+ n" }- u9 e8 J7 s% S9 T5 y! p5 S语法2:
- c6 H6 u8 M8 F# m( D‘comment ( T9 P0 ]. G/ T2 E- n! u
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 & f/ w' J I# k+ U% i9 k( c* ~% Z
Select Case * d1 E/ A- ?5 q2 E* {8 ]
Select Case testexpression & h+ p9 B& K2 Y0 d% ~7 l
[Case expressionlist-n
* `7 }6 s0 h: ^% Z# E3 r' j[statements-n]] . . .
- N) g) N9 D4 a5 h[Case Else expressionlist-n - w2 Y, ?5 P& ^" \! A& P- }
[elsestatements-n]]
" {: Z( V9 I* Z+ n# BEnd Select ' P( O, e" @6 f9 {
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。 S) [" K8 i; c+ J
Set ! S/ {' l+ g! x1 X1 W
Set obectvar= {objectexpression | Nothing} 7 m& @& I' u9 d3 d4 M" q
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。 7 q, S Q! `% v! P {6 D* r
Sub % \9 v \. j9 K2 R( i; a; h& U! Q% e
[Public | Private] Sub name [(arglist)]
* c- n6 }! F& C0 ?5 t; N2 [. c[statements] : _* F- V5 D- C" `' x
[Exit Sub] / F/ O0 U, K6 E, f/ D+ ~0 s
[statements]
: W' a4 Y M9 l7 [End Sub
1 k3 ^" Z9 J1 l( V6 ^7 ~5 ~定义一个子程序,指明名称,参数及代码。 3 |$ E+ R( p3 E$ l; d2 c/ l
While . . . Wend 2 c6 R/ ?4 X# L- {4 R) v
While condition
" `) I7 n u( ?8 e[statements] 2 L3 `$ ~2 E: z, O! E
Wend $ J9 |% T, E+ _ @" J
不停地连续执行语句statements 直到条件condition为True。 % d% J+ y) D# m. |- L: s6 g$ J
1 u: C7 `* [# @. j
|