|
来源:http://blog.csdn.net/aspstu/
$ X. I j6 _3 I( H6 E9 o( D) Q语句' g- H/ P6 v9 Y. Y
Call # S- z" U4 q1 H
[call] name [argumentlist] 6 o6 I. r! G5 n; i, H) }3 [; l
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 / x& ~5 H. q7 `
Const
/ K P4 R/ z* C; n6 h6 O+ m[Public | Private] Const constantname=expression
9 D" l6 s( ?5 H0 B用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
6 b; v( `1 g5 a: wDim
. _ F. U' `, x4 ?: w. ^Dim varname[ ( [subscripts])][, varname [( [subscripts])]... 6 T+ U+ { e1 [
创建一个新变量并且分配存储空间。 - l. Y- [. P; F% S4 ^
DO . . . LOOP 2 K0 r: s! K) x, x, h5 k* g0 w9 y
语法 1:
2 T4 l/ P! W0 M4 D: |Do [{While | Until } condition ] ' c8 A1 j# s2 q; S+ t' x
[statements] 9 `( Q( {* w: c" Y
[Exit Do] ; u% Z1 T/ O5 _2 o+ s* f9 I
[statements]
- H3 {8 F; u3 g: H ^LOOP
# J$ H) @; n' i5 |- W6 b语法 2: 4 ]" F2 H1 Z4 c/ i& [; c3 O; w+ e
Do
/ V8 B g# A }8 X[statements]
5 s1 m7 [; N' J9 e @1 K[Exit Do] + n y$ D$ w0 P' T, A
[statements] 1 p; C8 @* g" v7 c3 ^' y
LOOP [{While | Until } condition ] . W' n" |* w/ t9 \
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
! c( i! M% S0 Z( @( vErase + Z+ R" n0 |1 B9 Y# x e; X6 F6 ^% q
Erase array
7 g4 X: H& f1 J( W3 Q, q0 X清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
8 @% n, N8 {* L' P2 m I. MExit
f; d2 c) L6 MExit Do * f5 F0 _0 w' k$ X f' J( v
退出一个 DO . . . LOOP 循环。
1 u9 E" T1 Y. m" s: d9 T6 \/ IExit For . J5 K7 {6 I% I6 K6 l, I+ o r( W
退出一个 For . . . Next 循环或For Each . . . Next循环。 C& |+ {% Q- k$ l+ R7 Y
Exit Function 8 P: W" Y+ j$ }) v
退出一个 函数。
! i/ B# A) `* x' X- wExit Sub : V' M n/ Q& R' u( { B# U/ C
退出一个子程序。
A/ @5 x+ t( P, ~0 M7 g" UFor . . . Next
( F# ]& C9 S+ \9 }, p" [, hFor counter = start To End [Step step]
& Z& a2 I/ p3 |[statements] 9 k$ H: f9 _- O3 d4 M: E3 H0 L
[Exit For] 8 {! q. R! } v5 o$ O
[statements] % w8 V$ _, C `& Z) K
Next
9 H' e# d; ^: X! P7 f3 m- S8 V由loop 计数器指定的次数重复执行statements语句群。 , c5 U8 n+ {& T3 B% {
For Each . . . Next - s) Y; G3 C( g% J
For Each element In group
6 \# E/ ~2 x I( s2 g7 L$ M[statements] . K2 E) l+ I! ~) }" E9 C
[Exit For]
1 F; N2 Z2 V, J. u$ W5 B[statements]
: K" Z7 T% E/ }, V1 D; F& v- PNext [element] & {2 y6 D# n m
对于每一个在数组或集合中的元素,重复执行statements语句群。 ' `, R$ \1 w# d# }2 d$ L
Function
4 G8 K4 `! t& Q7 j& N6 K% A- L2 ^[Public | Private] Function name [(arglist)] / ?% g( N2 l+ Q" o" [$ r o# d2 J
[statements]
# T; ~/ v& g/ @2 D) G[name=expression] - u0 S* O- D) u& C8 @- \8 w3 c; Y
[Exit Function] + ^* |- v5 p" c5 V
[statements]
2 h0 A3 P( \ p) C/ s[name=expression]
( h [2 F4 Q. \8 f8 G S. fEnd Function 6 X: m! K. \4 I2 A, `( Z
定义一个函数,指明函数名,参数及代码。 * V. C' {# M3 z* D
If . . . Then . . . Else
2 {; P- z0 H! Q1 W1 e$ V0 Y语法1: 2 J$ u/ g9 i" [. G4 J2 M: r4 D
If condition Then statements [Else elsestatements]
4 r% E: A7 _- ~语法2:
* {8 i% b, F0 I( qIf condition Then
3 a% N' N5 b1 X' ]3 P fstatements
( S7 n- @/ w- V- R[ElseIf condition-n Then & t6 D( x' j% y/ q" e- P* e
[elseifstatements]] . . .
7 ?8 u# p0 j/ |[Else . ~: X/ m- |0 j
[elsestatements]] - I7 m9 y& c9 E9 Q4 w- q
End If : `3 n* p3 M$ c \) I6 F
两种格式都条件执行一系列语句。 % B# ?0 t/ \: c0 n$ @2 c
On Error
9 h9 X4 F6 e' b4 jOn Error Resume Next
! `: ^: u9 I T" r* f3 i当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
' {8 e# L* T8 q; x5 kOption Explicit ; W6 F8 F; v' p- U T9 ]6 `) C
Option Explicit
, f* u$ B$ [1 d8 p0 d2 H2 Z1 q& _在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。 ( {6 i- y- O8 { U* c. O9 q
Private
5 v: v& _3 j( K8 uPrivate varname[([下标])][, varname[([下标])] . . . , [5 }( R# M- \8 g6 p% C0 q" _) N4 ]
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) 0 _* ]+ r4 X$ I1 x* a2 Q* Y1 _
Public & l- J& g6 Z: P- w7 u; V' G
Public varname[([下标])][, varname[([下标])] . . .
3 [: R$ }0 G. n/ O创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
% A- ]3 K( ~1 N/ m {Randomize
. D9 Q' Y+ S' l* rRandomize [number]
+ v) c; x' Y% G( r5 Y给Rnd函数的随机数发生器一个新种子值。 P D3 M# Y" [% A4 K
ReDim
$ \" V8 x- R' k- t1 e UReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . .
5 u4 q& X% y( R7 t9 Q7 o修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 : [/ u- N$ |+ S1 A3 |
Rem
& L3 ?: H0 c* u: m! U语法1:
! e/ L* G# p& Y8 T5 k2 lRem comment ! B6 n, t# I0 ]
语法2:
2 ?1 z6 I7 }5 Q2 b/ s‘comment & v9 q, _- | T& Y" H) [7 T+ a! o
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。 7 u; P) c. S" o3 w$ Q3 ]
Select Case & {) F6 y- b& t1 t) c
Select Case testexpression ! z# [: u# q5 F
[Case expressionlist-n V& ^" e/ k7 ?" G* {: r, _# e
[statements-n]] . . . - V9 D! v5 z# g! T6 [5 }
[Case Else expressionlist-n - B3 n- p4 P$ t
[elsestatements-n]]
' W. B6 o/ }0 o% EEnd Select
+ S' Z- C6 d/ p. H( g# O/ S1 \如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。 1 B6 |) [& k0 {3 `
Set : Z0 s6 q5 |+ ?3 `9 ^
Set obectvar= {objectexpression | Nothing} C+ F4 G% X- a
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
# s' z. }, Q9 X7 a% g0 h) ZSub
6 ?6 _2 N/ W! R' {6 Z7 o* r4 u[Public | Private] Sub name [(arglist)] " N7 i. M% n6 h/ T! [+ h' K" I
[statements]
j+ v7 N1 `- e1 i l, `[Exit Sub] 0 {! m' R, | y* S4 Y+ M
[statements] u5 w1 z6 r: {3 o2 Z
End Sub
0 d/ h1 d1 l* ?定义一个子程序,指明名称,参数及代码。 : c3 f+ a. v# ? \
While . . . Wend ) v8 L( J- m2 ~: b+ d$ s1 @
While condition
W/ u& ^' s. U% ^: @2 v[statements]
$ N' M& o& F$ A' P; h" xWend
. H m6 [. [9 ]9 _不停地连续执行语句statements 直到条件condition为True。
( \( ]$ M( y# a0 S+ B% u
V/ s$ R. M, `; _; Z |