|
来源:http://blog.csdn.net/aspstu/ 2 H! U5 o6 x, `) i- n s% Q
语句
: _- m# T S% {! ^) ?2 eCall 9 d2 e& x- ^$ K! Y5 H
[call] name [argumentlist]
# |0 h3 ]( }% [, M+ d9 x0 g3 m把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 + H& ?1 W: z# ?( X0 k0 B( m/ Y
Const
( C# R* X+ k, |2 Z9 ~4 w[Public | Private] Const constantname=expression
2 W8 I* G3 j' ~5 M& G, U0 t用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。 6 p# g7 O3 f; Y( K S
Dim
1 O+ j& ^% I0 t$ A: O* T- s+ \Dim varname[ ( [subscripts])][, varname [( [subscripts])]...
6 z0 Z+ m# u! Q% @' Q; {+ Q( u8 s' ?创建一个新变量并且分配存储空间。 $ y6 k* n j& H& B% V
DO . . . LOOP y2 \/ E$ w3 O; a8 p, G
语法 1: 4 M: c4 e% q5 [1 _$ T
Do [{While | Until } condition ]
, C. \9 v, u- }( d[statements] / M) U: m6 G- o- I; ~) W6 M: |: Z
[Exit Do]
: Q1 o" W) o$ B$ m. }0 b[statements] , E1 Z$ X. L4 P. j$ @; i
LOOP
- \2 t& l" U) S( G' S9 {语法 2:
" M9 i g$ ]. z' A! NDo
9 ~ y2 s( ?1 k- L5 L[statements] . J6 _* L3 g3 h6 y3 U
[Exit Do]
j% H" u9 z) h1 C9 X; N[statements] : x& C" |$ \! j/ l; u
LOOP [{While | Until } condition ] 4 L& ]& c* j- g+ o4 Z3 d( n
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。 ' i+ D* \5 F& z! f8 r& a$ e' ]
Erase
' r( [7 K' _9 o; N, m( D. q1 kErase array
- W0 W$ E9 b& c; y清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。 * d, q0 W7 l" }) D; t7 `5 z [* w7 q
Exit 5 p1 U, a+ X3 y: b* x1 Q
Exit Do * t) t4 E. j" O2 A y1 w3 E
退出一个 DO . . . LOOP 循环。
2 r0 |: }7 e+ v5 K" aExit For
, Q0 S# L* G$ A5 g3 q退出一个 For . . . Next 循环或For Each . . . Next循环。 6 i+ d- @, Y8 O$ q. L9 _5 T# h- f% Y
Exit Function
1 N3 K6 }# k b7 @8 ]1 i* t退出一个 函数。 9 O% ?, P- H. Z. [
Exit Sub 0 {( d" Q' |, e( s$ ?$ g! M/ A
退出一个子程序。 * S2 B6 w2 `6 J0 m/ z9 e$ }& @: y
For . . . Next
3 d4 H3 K3 v9 QFor counter = start To End [Step step] - S4 u9 y. K( P
[statements]
/ s% ^# l9 N1 S5 ^[Exit For]
5 V& C& K! s+ L3 _9 E[statements]
+ s9 P! l$ Q' b/ D# Z4 tNext 0 S6 \! L1 z! k
由loop 计数器指定的次数重复执行statements语句群。
; m- K9 v, C8 ~: T% r1 H7 b3 GFor Each . . . Next & P8 Q# W! {# z6 k( J; |1 r
For Each element In group ! V# L$ J+ }9 i1 ?- U0 ^
[statements] . Y% n- ]& B9 D6 ^
[Exit For]
' D6 v3 E. G+ ~& i' w[statements] 6 `3 \* d0 E/ y; z( a
Next [element] $ f4 _5 H7 G4 k8 q
对于每一个在数组或集合中的元素,重复执行statements语句群。 ! Z* d! M. Q' @( @3 D4 l
Function 9 g% e' Z U7 m d- V- R2 a6 n4 l1 p" k
[Public | Private] Function name [(arglist)] 9 L1 N3 x) |: P m
[statements] " w3 J, `6 c; p# l% u8 |
[name=expression]
: f$ A' O3 k. L4 p8 t[Exit Function] , L& e( z* t3 V% h) v! C: }; m
[statements] 6 k8 R6 h$ s. m' B& d7 y/ d4 D- J
[name=expression]
7 L8 Q. ?+ ?1 u0 {End Function ' R, D" ]" I" ~ @
定义一个函数,指明函数名,参数及代码。
, \% s6 [0 y! }If . . . Then . . . Else
( M% ] `( J6 X5 M/ }语法1:
. j3 Y1 Q" V) e5 qIf condition Then statements [Else elsestatements]
) z! b1 |& d% G! r* U& H语法2:
8 Z9 x# G6 W4 o9 _) _If condition Then
1 M- P' c0 E; v1 b' kstatements 1 |, P( g' T; H1 h6 f
[ElseIf condition-n Then . Y' O$ E! I, @7 c
[elseifstatements]] . . .
3 G$ D! X d9 x: e* V- v. X9 [# y[Else : P" r) V5 X# |( i
[elsestatements]] . {+ a6 Y. L) O$ W
End If
4 w+ [* B' s5 R$ L; w: N$ ^! r两种格式都条件执行一系列语句。
: o y+ }/ [' {" NOn Error
: H8 \) k) ~. b1 E8 K$ ]& fOn Error Resume Next
- j" O1 c* C" U4 E. J7 K当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。 " U) D% k6 S) o8 k4 I0 h
Option Explicit 5 T* b& i5 y/ ]8 h; F
Option Explicit
: D, y: c+ L6 e6 R; |4 B$ r在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 2 Z% `% g$ p9 @6 o7 h
Private 2 H, l% S" x0 o, p
Private varname[([下标])][, varname[([下标])] . . . & @* d6 |& L/ Z7 X. z, Y
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
+ p9 W# G. t8 Z; X8 `2 aPublic
8 b, H' J$ g( _Public varname[([下标])][, varname[([下标])] . . .
2 A2 i# S5 `/ w1 ]) g! p创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
9 P/ W* U" r' e6 \0 [2 m" zRandomize
q+ N7 v/ T7 D, X4 kRandomize [number] + U# s t! |5 u! O0 M( w
给Rnd函数的随机数发生器一个新种子值。
& Q2 T$ b4 _; X5 @ReDim
5 l+ R! d& m( z: q3 C4 x5 WReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . .
7 A$ b/ T8 R1 W修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 # K @ V) j/ q: {; J; L4 S) P5 Z
Rem ! O2 a" |* p D& N% j
语法1: . d$ H% o, J J: ~5 I0 S5 l4 Q
Rem comment x1 y- y* r0 j! S% {) I" l
语法2:
. a9 u, C6 h' _6 M4 c‘comment
$ ~6 O1 k5 p. `0 m9 E2 Z这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
$ W( D% h* O8 _1 [7 ?, m1 FSelect Case - Z/ ]) `7 M7 ~) f5 `2 Q% [( x4 `# A* y
Select Case testexpression * Y! e3 w) ?( o' }- O* e3 G
[Case expressionlist-n 7 ]. G7 {6 p4 z, L; A
[statements-n]] . . . / i7 ~& |% o( J' p8 y
[Case Else expressionlist-n . E- s: I" z! n3 K0 [8 X7 o
[elsestatements-n]]
, z3 s' o$ ^1 Y% @: cEnd Select & [/ I4 f$ P7 H! ?" o/ {: u2 N
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。 " j; H; T) a1 D% L3 j3 ~
Set $ ?4 F. k' c! @+ X9 q- ^# L* b
Set obectvar= {objectexpression | Nothing} |; b( D3 T+ f7 _0 Z
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
7 d" E8 T: a7 z/ @Sub & V# `: t& B6 u$ Z) e, D4 R
[Public | Private] Sub name [(arglist)] ( P4 P) V+ i, K) }: X
[statements]
) W. W- U+ v l- v2 P5 A; }3 _[Exit Sub] 3 L% B5 t; N6 n' v: u& \& L
[statements]
& h+ H( c; T; \2 z: a/ a( mEnd Sub 6 X; Y: w& a" {4 k; y; D
定义一个子程序,指明名称,参数及代码。
; g1 S. P; i6 K: a+ }2 d" WWhile . . . Wend
( u3 e( Z" E$ L7 b7 iWhile condition " I$ r; x9 Y0 [# v3 m, N
[statements]
0 A) z& e# M; \Wend
5 s% g* q$ [) I- I# r4 e v6 K不停地连续执行语句statements 直到条件condition为True。 % n0 ~3 A8 H4 O/ [" ^
% R# j% m2 y$ T& V* c, ^4 U$ H
|