|
来源:http://blog.csdn.net/aspstu/
" l: i2 k5 e2 F* S& l6 z语句
9 `/ M7 m( X* R+ | ^6 T+ }3 \Call
. ?- k. O) Y( S[call] name [argumentlist] - u3 A1 R; j$ E
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 - Z2 ]. H- d& c3 _" k' P
Const
( s" D0 P: b8 w$ P- y[Public | Private] Const constantname=expression & k7 H+ S7 w# K& q4 {; @2 _! C
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。 # E0 m: w! y; b U8 v2 r/ D
Dim ; {; [; F( _# t5 h
Dim varname[ ( [subscripts])][, varname [( [subscripts])]... 2 J: w' e5 ^9 \( k, `' Z6 c
创建一个新变量并且分配存储空间。
2 e, v8 Q: V: L+ MDO . . . LOOP
: R, _& O6 R2 }, X语法 1:
! n1 D8 t2 A) I6 x6 V3 v" gDo [{While | Until } condition ] " S2 J) I1 X3 ~) ?4 P- A
[statements]
$ r* T6 h5 a# C" F# j- y2 u[Exit Do]
* N+ g- G- R% l; V[statements]
+ }, o" x/ `9 K3 ILOOP 0 R1 t, |/ W& {/ v6 g
语法 2:
7 g" s3 D; m6 g r ^( N+ c) WDo 7 r$ l$ w1 S+ B$ @
[statements] 1 F" {7 b7 i3 p
[Exit Do]
: _9 d1 e0 z2 j4 y1 l( \# j[statements] + S: d2 a2 g$ Y' B& E& @* n
LOOP [{While | Until } condition ] ( i# s9 r" n& u2 D' W5 B$ ~6 m
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
& a' }$ _. V* w J; ^) t; ^Erase
4 I; c9 I* n. W3 P. j: E; W% YErase array
& w+ A% m1 |+ _1 r; c7 ?; f清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。 1 P- K3 N; ]3 W/ K6 x
Exit - g" n1 M8 p( A& B
Exit Do 5 a# J$ C* n: L* M: v0 g
退出一个 DO . . . LOOP 循环。 3 y* ^8 [( s2 V" i
Exit For
T2 v4 C* C6 a退出一个 For . . . Next 循环或For Each . . . Next循环。 % J3 N& @1 R8 S' [: J
Exit Function 1 I$ f! H7 p: f. f2 N; Q' v
退出一个 函数。
$ m. x, {. L* LExit Sub 7 ~, _7 L0 o0 i
退出一个子程序。
, N% l K8 [- z; D0 V) f& oFor . . . Next ; V- t D" L0 N1 j
For counter = start To End [Step step]
* v8 X- N' u. f+ C7 r$ S* E[statements]
! R9 D X; K( O[Exit For] ' J ~: r9 G9 c" O$ l8 \: N
[statements]
) N3 {4 w5 [' M" W) O' ^5 y& XNext
' D8 y* t W7 ^, d! q- Z由loop 计数器指定的次数重复执行statements语句群。
) b$ q R4 ^; D- c1 Z5 P& ~For Each . . . Next ! V$ h5 u. [, l8 {
For Each element In group
' f4 p' t/ Q9 v# b[statements]
4 b. q7 Z6 h9 I2 g2 o& k[Exit For]
, q7 b. `! t& y# f[statements] % ~0 s4 {) N/ V0 B
Next [element] " x8 t7 l9 O. H& k9 b
对于每一个在数组或集合中的元素,重复执行statements语句群。
. I2 ` f' m0 }5 }Function 5 z" \# n! D6 P- h! v* N
[Public | Private] Function name [(arglist)] A4 `2 u: h! y9 ?, D
[statements]
( [0 L7 x4 |6 J[name=expression] ) f: V* |! p, C4 P' E9 E% d# d
[Exit Function]
, \% s$ x( _8 J0 b/ y[statements]
7 H6 D/ J A- C. ^. G[name=expression]
, @9 K+ X+ B" M mEnd Function + t5 y$ K* z t
定义一个函数,指明函数名,参数及代码。 6 k2 M! i% g2 w9 Q. r0 Z
If . . . Then . . . Else 5 S) L) P }! X) Y/ b9 `4 ^
语法1:
2 j9 N3 Y! P% |6 R6 P4 d: _. mIf condition Then statements [Else elsestatements]
5 M. U) `) a9 P语法2: 7 q$ y& j5 _* N, Y: Y
If condition Then - [' D }) I! Y
statements " s3 o8 @0 @4 |4 F: W
[ElseIf condition-n Then
' B4 j6 O1 `. r* ?5 Z. r[elseifstatements]] . . . ! n$ R9 }% Z# q
[Else % q, _- `; M+ j3 D8 r
[elsestatements]] - x# c4 N, v5 i1 Z- ?' l( C
End If
: ]" ~( m/ ~5 L两种格式都条件执行一系列语句。 ' n/ r- K8 q. M
On Error
3 d& y9 D) K* O: V, XOn Error Resume Next ; w3 W+ r, ^5 {
当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
- F1 G- h9 F/ p9 mOption Explicit 5 F+ s. b3 X% d, |
Option Explicit
; e' J* D+ v: [8 q! f6 \在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
$ q7 z7 F. @1 a, w! {Private 4 g6 ]. w' [: ] ]! E( Q% S. F; V
Private varname[([下标])][, varname[([下标])] . . .
7 E8 M& l, ]* y8 T% T- d( B0 m创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) ( f8 x. `' k3 y! x( u: N* o3 h8 O; o
Public
0 c& p. c8 O+ WPublic varname[([下标])][, varname[([下标])] . . . 9 r% B. C# Q! d3 S+ |. L( p8 t
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用) 1 d' D E6 H* o1 o% i
Randomize ' i0 O" g( B& _" V% @
Randomize [number] ; M( G) |; \! \5 q, j5 S- ~/ y" Y
给Rnd函数的随机数发生器一个新种子值。 . f: ^8 B' i W2 I4 x. h9 Z
ReDim
8 T7 B3 C! c! ZReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . 6 U1 j- w6 w) O% T
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
: N% z" f$ {( ]/ }$ ERem
" }- j+ v1 H2 Y1 A7 E! h* {语法1: 5 Z. c& x$ `0 a$ Y
Rem comment
5 m/ M, _# K2 ?8 p$ l语法2: 9 C6 `9 I2 R/ v' N% a3 c+ m/ i; Z) U
‘comment
M7 Z2 p$ C% c这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 2 C0 ?* ?9 ]( H% U
Select Case ) V4 m0 G( r) }) J5 E
Select Case testexpression
# \8 K. D" \' a' q( e8 L[Case expressionlist-n ; f/ @0 M7 m9 k9 |* u
[statements-n]] . . .
! U! T% `9 I5 z* ]+ i) x4 f* W[Case Else expressionlist-n 6 K( G0 \( L: v% p
[elsestatements-n]] & Q9 x1 Y7 e0 p4 m" V0 m. u4 l7 A
End Select 3 T2 J0 e7 [# I4 G0 ~
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
/ F6 U# c( t& i. V* l3 KSet 7 `0 w3 X* U7 }
Set obectvar= {objectexpression | Nothing}
/ p2 w0 o; F l. U: H赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。 ) y2 X# W- t" L
Sub z; J6 Y4 ?) c5 @* f. e# x
[Public | Private] Sub name [(arglist)] $ v0 h. k! }$ [* Z, i0 w
[statements] 8 R1 Y. e" D% F! e& M/ X
[Exit Sub] 2 b# S- M y. a, w8 ]9 `
[statements]
8 ?+ c7 s& _7 T! x) _ mEnd Sub ; g% g$ d2 s# o' }3 K
定义一个子程序,指明名称,参数及代码。 . a1 h8 [0 s1 S+ ~% X
While . . . Wend . U: x9 ^$ G) A9 \4 Q& H( x
While condition
9 t$ E% v5 \$ n- C2 q" U: z[statements]
* u& Q$ v7 ]3 O( x3 M( eWend 7 v: @$ Q* `& b& ^; k: }" b
不停地连续执行语句statements 直到条件condition为True。
+ M/ S& o" p0 a a; y
( T6 R9 r. t# p* L. w6 W3 _) h |