|
来源:http://blog.csdn.net/aspstu/
+ q O7 w; H9 K9 P9 P" F% i- x A语句4 L' R$ R) O+ a# f
Call
$ ]5 N- A& O# c0 t* K8 c9 _7 S[call] name [argumentlist]
; t4 H1 F5 V6 |0 A, p5 Q把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。
/ A# ]1 r/ _4 {% V5 L/ Z# `Const
. F" W1 W" m9 z7 q[Public | Private] Const constantname=expression - F8 E+ l1 c# q k( Q& \* v9 [
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
$ K& m, ~! d4 j7 [/ }* uDim : ?- Y$ }# n: k3 i% O+ w: h
Dim varname[ ( [subscripts])][, varname [( [subscripts])]...
4 ~3 }( J6 G& q1 k& F0 L& M5 x创建一个新变量并且分配存储空间。 : ?0 }. u3 P; u; D3 o6 \
DO . . . LOOP
3 p; a9 g. x3 Z0 u: `0 z" o语法 1:
( Q& t& T5 Q: @0 y3 j' q8 T2 d& BDo [{While | Until } condition ]
, J& b/ D0 o# u, y, O9 ][statements] D( G: q `8 y5 `( l; U) P1 s
[Exit Do] + I" s4 O; Z9 u- p$ A/ a
[statements] 2 T# o0 N( O; g- Z% v
LOOP
7 n- Y# g& C7 ?: v语法 2: : ^/ ?3 f8 f- I& j
Do
3 u! z' G5 y3 x; r; o* Q[statements] {( {( ?% z4 b5 B2 t
[Exit Do]
4 e4 n+ |3 ]2 i+ @[statements]
4 i4 t3 D3 [, j. e8 L" }2 a8 QLOOP [{While | Until } condition ] ( t" u% A" v" p) w4 y( X
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
1 |& k2 ~& N8 F. L# `7 rErase
" d5 b1 d" n& m* n' S [8 D4 bErase array & ]8 f0 l- P* e
清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
- Y7 S0 L$ n) c% v" CExit 1 Y7 w0 u# D M3 i, g$ n! R
Exit Do
6 I0 F; u5 k3 Z0 S退出一个 DO . . . LOOP 循环。
5 J, Z3 [+ J; e8 K6 i- |! x* jExit For
& M, X7 S- n J5 l/ Q退出一个 For . . . Next 循环或For Each . . . Next循环。 * x: K0 k- I/ X0 |) B& u
Exit Function
0 \, N3 e6 F8 `8 m0 y0 h" ^退出一个 函数。
; Y' }2 h$ A# d( [8 O& W gExit Sub
# N5 n1 U ^3 W$ i: ~8 r退出一个子程序。
3 }# v+ T2 S) t8 mFor . . . Next * a% j! T# _4 L
For counter = start To End [Step step]
5 x+ [7 W) L( ^+ U[statements]
9 ?* [ J) a. ~* {# o[Exit For] 9 n, d1 M1 l' q9 B4 {" r: | D
[statements]
/ o' _; X4 H9 w& h& l( H, A4 WNext + a$ W& Z+ x# q% \5 J, y: P
由loop 计数器指定的次数重复执行statements语句群。 ; L6 K" l2 w8 T# X" |
For Each . . . Next P6 N0 t+ S# [* V. C/ x
For Each element In group
2 r3 c+ I* K% r( I[statements]
9 |( h+ t2 T1 ^- C0 W[Exit For] $ G( P3 u% |. g5 O' D; J' E+ I
[statements]
8 E7 i0 C g6 |6 P2 YNext [element] # t5 ?* {1 f+ M( j, D0 j
对于每一个在数组或集合中的元素,重复执行statements语句群。 9 U" T5 x( U8 G' K* ~$ l
Function 1 L4 @. M, b; {
[Public | Private] Function name [(arglist)]
d, H5 Z1 J4 P* k* X; u' o9 H, y[statements] 7 E0 O I/ h( t( i: x* f+ z7 M
[name=expression] 5 j) r5 ~2 b* U) N; y9 s6 K! H
[Exit Function]
3 \ Y' p4 k0 J8 r[statements] ; E+ u3 W& S- G" |5 p$ U0 x* s
[name=expression]
7 Y$ ^2 A) e5 J+ EEnd Function , @' v; v F' j2 Q. i" ?6 {
定义一个函数,指明函数名,参数及代码。 % u& g2 O9 [8 Q9 r8 S% x
If . . . Then . . . Else * ~& T! A: ^5 ^- A" ~* S
语法1:
7 O" W# H6 z# ~+ \' cIf condition Then statements [Else elsestatements] ' S$ B- L4 K; Y( m' V
语法2:
+ _) v! r" |" j# K6 kIf condition Then , \' Z" N* ? ^1 \- n1 v4 ?# j
statements & I( ~& S8 ?4 M' c$ `
[ElseIf condition-n Then 6 h7 `' o6 }( X' {0 v
[elseifstatements]] . . .
6 U# o% ?1 b5 G7 x, y' U[Else ) H, \1 g" C6 m% u6 I t* |4 ^/ Y& u
[elsestatements]]
% g$ K' r2 f: h/ f$ C: OEnd If / v. ]) P# } R# F
两种格式都条件执行一系列语句。 5 O& i& w% I) Q- V" e
On Error
; _# { L/ L) E$ HOn Error Resume Next
' ^* L* D7 `9 r1 S0 j当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
/ D* N2 i. `2 @ [% B3 n# a- ~Option Explicit
: W2 c# b7 G- U4 ` xOption Explicit ~- {( O, J$ R$ @, d6 |8 m
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 Z: E6 T" R! [) g, ~6 Z/ H
Private
/ h/ [' h2 d F) P+ m$ L9 [Private varname[([下标])][, varname[([下标])] . . .
# |' b6 t4 w) I# \创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
1 P' ? F' Z$ l7 g0 u0 kPublic
/ v3 t Y' I# R& m; S5 d0 C6 ?8 nPublic varname[([下标])][, varname[([下标])] . . . 1 [) q4 J( d. f0 U' ~4 d
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
5 z; e Q4 B9 X2 M. z/ h/ T2 wRandomize
5 C6 O9 l% C, Y8 U4 I/ QRandomize [number]
: f) l& [1 _. Y给Rnd函数的随机数发生器一个新种子值。
; U+ G, v! C# e' l: D h$ JReDim * C w7 Q# J3 j% k
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . D% Q/ t0 _# E/ Z$ H; m. Q1 A) Q
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 : d( T: x% N5 z4 Y/ K! F" o1 G
Rem ! b1 L6 d4 a& T/ X1 |
语法1:
U9 N5 r9 Y% P0 R- D) ~7 ^" QRem comment
$ s4 F/ H6 N0 v- ~% G语法2:
1 X0 d/ T6 K4 p; d‘comment ) v/ k! j5 B6 t) F
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
0 J) C9 G. t) k; R4 ^2 i, VSelect Case
0 y- K/ y r2 X8 o' ]8 uSelect Case testexpression
/ {" h: Q3 b. l[Case expressionlist-n $ V! e: N* S8 g! H# _7 u# E# o2 m
[statements-n]] . . .
8 d8 h( v0 j* A8 A[Case Else expressionlist-n , [( q6 v' m' M
[elsestatements-n]] - n0 ~! P- {! `$ ^4 a, r
End Select
* }/ ?3 z0 R' N* Z1 G如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
U6 E* W& M' @1 PSet # \9 G9 K3 M4 T/ {
Set obectvar= {objectexpression | Nothing}
) A6 k* S3 A1 M$ Q2 n0 K$ \4 h赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。 & ] `* O* _, M; A, H
Sub / I! Q, S* }0 G* |! ^% c
[Public | Private] Sub name [(arglist)] 0 L8 `* n8 b4 J& p$ r- X# L5 P
[statements] 6 ^& _, V a& t0 S& w0 ?( l$ h" O
[Exit Sub]
# `+ m! ?- V" F6 c[statements]
" U; \. S: y% l" JEnd Sub $ W7 k; I. F4 z" T9 s+ |
定义一个子程序,指明名称,参数及代码。
1 @- `, G) K4 i' ]$ aWhile . . . Wend
$ N% J% @& O% C! kWhile condition + u' G" ^2 i% y0 r
[statements] ! L- Y+ e# v& ]
Wend $ _- n3 m; x! e
不停地连续执行语句statements 直到条件condition为True。
9 c- M) f% C* ~* E! J# m& e
9 E S' M% N5 ^) W0 D) j |