|
来源:http://blog.csdn.net/aspstu/
( l6 e3 C8 Z! f: s语句$ n6 A% X" P1 X- f
Call
/ G- _% n1 A, a9 _[call] name [argumentlist] ( K1 m% \8 m) b3 _; H9 K! _
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 " M& r. [% e, y* y% K4 w; G" r
Const
! w% E# m: Q' N4 `5 ~/ Y* \[Public | Private] Const constantname=expression . M$ Q2 n2 w& a4 {- ?6 E
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
2 t- W5 D$ Z; t5 c/ m T/ s/ y8 ^Dim
( v" @" G" w. d) P2 n. p& X6 m: ]Dim varname[ ( [subscripts])][, varname [( [subscripts])]... + `3 I$ @% h) `4 i) ]+ N4 @% a- D
创建一个新变量并且分配存储空间。 8 d4 O d2 T4 a7 q X
DO . . . LOOP
' @! C8 r. K' p8 R语法 1: - C" E# a& u0 L
Do [{While | Until } condition ] ; r0 F9 o$ Y0 U9 O- `
[statements]
' W& {: f) @8 r5 x2 q+ R[Exit Do]
4 H# ?) v5 o+ d; T* W8 e[statements]
! h+ n8 U ]- P4 b+ A: }4 R+ dLOOP
% Q1 h- B+ f6 I1 X/ v: |. G语法 2:
! h: }8 s1 ]# S0 `2 i6 ]7 JDo
9 p) v5 x8 p' ^[statements]
0 y+ ]- j& C, J0 a[Exit Do]
- J5 V0 U, D, v3 \[statements]
4 R& l& K" G9 Z5 a+ ^) vLOOP [{While | Until } condition ]
1 X; y$ V0 j _当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
, Q$ _0 z0 _. O& zErase
' G, C9 I+ I% c- KErase array
2 i8 B3 r/ w. t8 [3 t& H6 r) j清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
9 c8 P1 Q& j0 W2 `Exit & z4 z$ J* @ i
Exit Do
1 ~% V7 p. j* v" O$ D/ v. m- E: n退出一个 DO . . . LOOP 循环。
# j; X* v$ M. jExit For
) l0 v/ O5 N" Q; f( s, ?. ^3 c& ]退出一个 For . . . Next 循环或For Each . . . Next循环。 4 d- T7 k+ t" `" n# e$ T
Exit Function $ m& J. _! h, S5 B; p& g3 b
退出一个 函数。 1 L2 C: s2 B$ N
Exit Sub
4 ]5 {2 T1 b- D退出一个子程序。 ' n- Z3 Z1 h N$ U( M6 s
For . . . Next
, f/ F4 E* N+ ~& ?: o2 CFor counter = start To End [Step step]
# O2 d% k0 q2 X9 ~" \( F4 k C[statements] 6 G; s. A: a, T5 e: @) T& e
[Exit For]
) E) `0 E3 D5 A* c[statements] # B! @% u! }1 C
Next
! x- ^! ^' F. v$ g. b( O g由loop 计数器指定的次数重复执行statements语句群。
! r$ a: Y+ p& m# s9 g3 z1 I6 D4 VFor Each . . . Next
: J4 n1 p- N3 xFor Each element In group ; V7 c! G; C6 M- [ _2 x, t+ O( K
[statements]
6 x7 N: |* R% ]6 L# T+ E0 P9 X[Exit For] % ~9 ^7 D: J: [
[statements]
7 o; ` U0 y# kNext [element]
! E1 C4 q2 r' O/ m1 J o! d1 D对于每一个在数组或集合中的元素,重复执行statements语句群。 4 _) j' l2 ^5 N ^/ L u
Function
$ F' i6 ^1 b: z( G: H[Public | Private] Function name [(arglist)] * ^% I' v- w8 k# O9 `
[statements] . B- ^* L& S! {7 t' x
[name=expression] K2 m. A8 N. y
[Exit Function]
5 M. f% A2 e# x, _$ J[statements] ! F4 Y) t8 A6 }3 p
[name=expression]
! k$ q( J* S u0 A3 T" lEnd Function
) m" r, \* C3 m5 @7 x定义一个函数,指明函数名,参数及代码。
: {9 d: y- U3 p4 Z; Z' Z+ @* XIf . . . Then . . . Else # j3 ?- H/ C) y$ `( P
语法1: $ Q3 D2 X4 O1 Z1 ]' D$ V
If condition Then statements [Else elsestatements] 4 M3 s; A# V% J$ I! t
语法2:
/ _% p( W+ `" l. I% A- K2 p: KIf condition Then
% e" a. k5 \4 L* P% {statements 4 m6 i' p1 V8 U0 O# R
[ElseIf condition-n Then
! `1 f3 F: N q7 u[elseifstatements]] . . .
8 Y' p8 ~8 {' [% ^9 k[Else q7 T0 y& w2 B0 g" J& D
[elsestatements]] 3 z2 i: T {" F f1 H$ L$ S' _* l
End If
( O4 ~ F5 k4 B _两种格式都条件执行一系列语句。 # s, B. H1 L, t/ E" q
On Error
/ W5 p. W, ^1 H. y9 \) }0 }On Error Resume Next " m+ ^% I5 u6 ^# O6 }
当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。 - W8 _# s3 [, L& A3 ?
Option Explicit % f" {' p0 a& R7 r2 n
Option Explicit
7 @6 `1 R4 O3 H在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
/ a4 Z( x% U% j# V% i4 SPrivate + Y1 G, V5 p7 t4 @7 P
Private varname[([下标])][, varname[([下标])] . . . , ]9 e" |6 e! p$ S% y. ~" e$ P
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) ; ^9 Q0 X4 z& r7 _3 f! E/ E6 D
Public / a8 P0 l* [6 K8 V: M
Public varname[([下标])][, varname[([下标])] . . . ) }" D+ q) i& o& l$ g5 I
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用) , k p8 R( j, [. m
Randomize % U* \ |& e# h- l
Randomize [number]
9 n; a- m) T" [3 |% n* D给Rnd函数的随机数发生器一个新种子值。
/ B) C0 P1 O J r) W) ]- X) s( fReDim
4 M/ \2 N* F( ?; Y* x1 q" @ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . E9 ` z. P( i4 A% s# C
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
, \0 Q9 @9 C/ s! t5 i7 y; PRem
# b. N3 W' |( ]8 R8 T# Z+ ~1 ]" K2 C语法1:
) y- P7 i$ ?+ I5 k( E7 g+ r% ?# F1 _Rem comment
; @" B) b3 }. W1 S' R5 v语法2: 2 m# H- ~: U B, E/ j d+ \
‘comment
/ \$ l' h3 ~, s0 M1 ?7 b这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 k- ^ y, D1 L6 B- X" \- t
Select Case ; E4 F! P9 q' {/ w
Select Case testexpression
% ] a) r! |/ z/ `; F* u[Case expressionlist-n # o" F" X) U6 \! D2 K
[statements-n]] . . .
- I' r7 S% Q0 x5 _2 [9 f8 }[Case Else expressionlist-n
" {/ {7 }2 K& I& |7 v+ E[elsestatements-n]]
: I" v a' I8 fEnd Select
9 M! H# I3 a {2 @7 e! p+ W如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
# Z# E$ l3 G% p1 W$ nSet
& z( ?! q& ?& h4 L4 k4 \Set obectvar= {objectexpression | Nothing}
; ^( K' |. i3 g7 U赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
7 o% e* Z( ]9 n' SSub
+ S% U+ K0 z7 J. |8 n[Public | Private] Sub name [(arglist)]
( W$ F! _1 k6 k[statements]
- Q9 @) }$ d9 z! f[Exit Sub] + K* D3 i: O: g
[statements] 7 y5 E( J: K* ~2 J- l; a5 }
End Sub # E9 |; x$ g, l5 @) f2 d, C: m
定义一个子程序,指明名称,参数及代码。 B- ^0 k, q9 l+ Q$ y
While . . . Wend 9 w- m( |$ l8 @' z" P5 e
While condition
5 K( ]. y3 r8 |: ?$ N[statements] ' l. p' s* Q+ P: G" L& j
Wend
( G- K) A# p( E9 ^4 N# @. d不停地连续执行语句statements 直到条件condition为True。
0 e3 _3 g) _0 e3 J0 o$ j7 H) l' ^& u, n
|