|
来源:http://blog.csdn.net/aspstu/
, Y2 {0 ]( j! `- k7 T( T语句. x4 m: H, u, n& @5 K
Call
; z/ E( Q1 J9 a! [2 Z4 u/ w[call] name [argumentlist] 3 t: W# z" Z, o) C' N
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。 & W7 A7 Q5 }- y% i- C" x, L
Const # A, J3 [3 M5 h
[Public | Private] Const constantname=expression
3 n9 F5 f1 O3 ?用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
; t6 W4 L8 x7 G; V. P% E/ cDim # @6 D, q) k ^( q
Dim varname[ ( [subscripts])][, varname [( [subscripts])]...
: d# n! G8 [: g, c A1 {创建一个新变量并且分配存储空间。 ( v% d7 Z$ n& z
DO . . . LOOP 2 C |1 g1 T, A- Z- Y2 M
语法 1:
. H1 a1 n& p+ yDo [{While | Until } condition ]
/ g4 u' [; f6 Y0 H9 d0 l, E[statements] r& N- E7 C* s* P0 U
[Exit Do]
; s; i* B) o5 b/ j% A" N[statements] 1 y4 z- n6 _& M+ X
LOOP 4 \8 [" }' f8 j0 j/ V+ Q( c( z
语法 2: " L# `; G/ y& E$ B% a5 t
Do
/ H1 F- r, M6 h7 T# T[statements] ) V K& S$ A: C8 S& Q2 C
[Exit Do]
; |) P6 N' q! c; ]2 D* L" C[statements] - l! E+ _9 V4 N5 d4 \2 B
LOOP [{While | Until } condition ]
5 } J0 {4 A5 x) a& a, J" W5 k1 I$ b6 j当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
: x; z; ` \5 n2 Y+ Y* r( ^8 w& JErase
/ i3 a* B, v1 `! t5 W7 S ]Erase array
0 c3 p0 y3 I& I: l清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
; H" V3 m0 J; X$ ~Exit
# g# V" j0 s1 {, e% @5 u3 G XExit Do 7 N T) @1 M0 H
退出一个 DO . . . LOOP 循环。
( P5 d' ~# Y* |1 ~7 F$ T7 VExit For
) L: X2 e! g* c8 h退出一个 For . . . Next 循环或For Each . . . Next循环。
" c' F# {; n, N% T3 n5 K0 t+ AExit Function
" j, Y* ^& V+ C5 p4 S& ~( Z退出一个 函数。
$ V4 a' W e) \8 E; K3 m6 n QExit Sub # H( J) Z4 d0 U d' f4 v u. y
退出一个子程序。 2 }1 e( b8 s9 X+ N
For . . . Next
% {. }6 ]' u+ u N% EFor counter = start To End [Step step] + E$ V1 Q" F+ k6 E0 x4 d) k! e
[statements] 1 m4 X# v. W. v- e3 @" y' F# N! \
[Exit For] 4 V# H8 Z; q4 o' z3 G7 J5 V2 ^; c
[statements]
1 p: x' c2 w8 ?- o5 TNext , U9 F w! I9 ?1 g- ~, I; w
由loop 计数器指定的次数重复执行statements语句群。 $ ^) C3 Z. L. v
For Each . . . Next
B: f3 q4 U2 H/ C0 oFor Each element In group
, N. |8 M2 _& n- ?( Q[statements] 6 j7 @+ o5 E, h2 R1 u' U3 }
[Exit For] 2 F4 N* C2 W D5 W l
[statements]
. J. E/ I' q% ~& ^8 xNext [element]
0 ^& v) A! |9 r$ C对于每一个在数组或集合中的元素,重复执行statements语句群。 " |( x$ t$ l& V$ N, U: ~/ s- @- ?6 O
Function
1 E1 |' }3 @ n5 E( n) ^0 Y[Public | Private] Function name [(arglist)] - |( g$ M6 D% b9 e; ^
[statements] 5 K' w0 t$ \& i6 Y( w
[name=expression] 1 ~7 n$ q; L% C$ \( H5 z$ @% u1 s+ a+ ^
[Exit Function] & [( j* l1 }1 g% I6 W" t) t/ F4 D
[statements] ]7 Z) u& R# |9 l4 d
[name=expression] ' q' o0 ?+ e( Q; y
End Function
# K" h' \; x$ ^6 J定义一个函数,指明函数名,参数及代码。
6 w* d! @4 L: }- m) F! ?2 m# pIf . . . Then . . . Else 8 B+ u2 Q. T: h4 L
语法1:
: l3 |' i/ u. vIf condition Then statements [Else elsestatements] 3 B& B1 q1 K9 R( }$ J. z
语法2:
1 O1 r/ o/ V2 |+ b# W+ GIf condition Then
( p, Q! B* I, _# Lstatements
: A6 Y% e+ j9 e' b8 x% G[ElseIf condition-n Then
8 d6 |( c; A+ f- o* L5 Y% X[elseifstatements]] . . .
/ i) R) ]+ c+ r# A7 }[Else & ]9 n& u* g* @+ j
[elsestatements]] - G0 L' y* @) L9 f$ J& {" W
End If . X' Y1 u" k+ G4 }" ^* K& J# ]2 X
两种格式都条件执行一系列语句。
6 Y# d( M$ {, I* h7 mOn Error 9 ]9 Y4 @# T0 F+ f( I
On Error Resume Next
" z" _0 f q/ m, o0 P. Z当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。 - T. \5 R! P2 ?8 Q
Option Explicit 0 T- x- T, P F, d5 u
Option Explicit
, t% ?1 ]/ }- l% Q2 `在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
3 ] L6 G, s! V; ^) Z1 zPrivate
0 l6 x4 f5 ~8 e. j' k5 m3 iPrivate varname[([下标])][, varname[([下标])] . . .
* L- [$ d- P$ [! u% Z, b6 l4 `8 p创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用) . K, f9 n6 F0 K9 w
Public
% f8 ~" A! M7 x+ kPublic varname[([下标])][, varname[([下标])] . . . ! O6 j: z' I* _
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用) 0 \: z+ O, j9 U; p/ j: k: l( D6 [& K
Randomize
8 a6 N- ?' |4 i4 ]9 QRandomize [number] 4 }! ?0 M6 a7 P' {8 c5 t
给Rnd函数的随机数发生器一个新种子值。 + G: z& W9 @& e* L* [4 l% o
ReDim
. `/ L6 Z0 L$ B9 M- j9 m8 j$ XReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . . : _( B1 O8 F5 U1 P% t! X0 Q
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。 7 u$ q& U. L4 _3 Z& q5 P. i+ I
Rem
+ Z# \0 x# ^8 I2 E* ]4 t语法1: ' x$ a5 B9 }# l8 H! {# n
Rem comment
( S# S: @ Q$ _- s% X2 G) ?; l语法2:
8 s1 g; C8 \% f/ ?% e2 y7 V8 ~‘comment
0 ~) D L& p7 b0 n- V% o这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
; t1 k& X) V4 M) w( G" B' LSelect Case $ {! c! X5 a7 J- o
Select Case testexpression ' W. p: A9 p* f9 w Z- p# C* h% |( s
[Case expressionlist-n / i1 E: m+ j$ ~5 N0 Q
[statements-n]] . . .
8 s. C6 X. w8 L# I: N3 f- I[Case Else expressionlist-n 9 [4 k( Y( A; H
[elsestatements-n]] " M8 R7 r" f& z5 M# ?
End Select . q: d( q4 \9 R4 H! y$ n9 H
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。 ) C( |1 k/ R0 R) D0 o* S! b
Set : ^& w/ d% ^4 b$ I
Set obectvar= {objectexpression | Nothing} ! n. ?: @: ]) N
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
- D6 k- c; z" F: j; A$ o. [Sub * g m6 j$ g3 {5 e/ u
[Public | Private] Sub name [(arglist)] ; `) [( m" Z8 I, T; I, w
[statements] 1 q+ y8 I( j( v/ Y, o y
[Exit Sub] * }6 F* I1 m* F- q2 h
[statements] 8 t+ N; L# `# {8 [
End Sub
4 V2 _+ I9 g4 ~9 e Z定义一个子程序,指明名称,参数及代码。
# L! M9 K2 M: gWhile . . . Wend
3 }7 n' V+ m6 J3 P# E( i& d7 ]While condition
$ G7 \8 J8 }. E[statements]
0 [. W& p, Q0 |8 R4 H- L# QWend " m9 ?$ @5 W: G
不停地连续执行语句statements 直到条件condition为True。 - } J) n3 d7 z- f
1 j; r; A# ~3 ~" }2 a. w2 J
|