来源:http://blog.csdn.net/aspstu/
* f6 w3 j1 e5 `7 B) T- B5 ^语句 Call
[call] name [argumentlist]
- f7 E+ w8 ~6 _ X; F把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。
$ q7 Z: j5 o7 e+ l2 Z* ^# KConst
[Public | Private] Const constantname=expression
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
5 h2 s) @( R9 }- K6 t, nDim
Dim varname[ ( [subscripts])][, varname [( [subscripts])]...
6 S! H- H: [' S. v* s7 Q% O+ s创建一个新变量并且分配存储空间。
% t/ k G0 `7 h: h5 W* wDO . . . LOOP
语法 1:
Do [{While | Until } condition ]
( x* n5 v( b1 }; F[statements]
[Exit Do]
[statements]
+ u, ^7 k/ O4 Q j/ E! t- a6 \LOOP
. K) T0 Z' M y; _语法 2:
1 `1 x {/ w& |- s! ?* \& j* kDo
& W# m- M1 b: C( ^* s4 N+ \) E[statements]
[Exit Do]
4 @+ |: q2 j8 p% @% x" t4 @[statements]
LOOP [{While | Until } condition ]
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
Erase
Erase array
清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
Exit
# s+ H5 s0 T0 s3 B% AExit Do
8 z( r% q: r/ {5 ]* t! ]: ?; j& B* B: z退出一个 DO . . . LOOP 循环。
Exit For
退出一个 For . . . Next 循环或For Each . . . Next循环。
, Y! a1 l* ^7 |9 o9 EExit Function
$ y* H0 S( j1 g( _3 y退出一个 函数。
Exit Sub
3 a+ ^$ o e* N7 }% K, L退出一个子程序。
For . . . Next
For counter = start To End [Step step]
% J7 s+ K. [7 Y% D' `/ Z# [: m. u3 Z[statements]
- v+ x& R+ ^6 w b* X[Exit For]
[statements]
Next
由loop 计数器指定的次数重复执行statements语句群。
For Each . . . Next
For Each element In group
[statements]
0 X) t+ n- D0 V+ S* j[Exit For]
9 `6 v! f a: c, V[statements]
' v. y0 p5 k' s7 U& CNext [element]
2 e, A: R. u( y' o1 |对于每一个在数组或集合中的元素,重复执行statements语句群。
6 G1 n; ?0 n# E6 \Function
2 U3 W8 y! ?: _[Public | Private] Function name [(arglist)]
[statements]
[name=expression]
[Exit Function]
[statements]
[name=expression]
End Function
" [: A* c k5 z3 v定义一个函数,指明函数名,参数及代码。
- Y" \! B& \, YIf . . . Then . . . Else
( w' J0 L. X" M- |" y& ] h语法1:
If condition Then statements [Else elsestatements]
语法2:
1 g$ e K' [. r2 U2 qIf condition Then
statements
^7 T+ q' _. A, M4 d[ElseIf condition-n Then
4 R/ p0 d# L, c! f0 H4 i' `2 S[elseifstatements]] . . .
6 v0 G% M% D! {+ Y J w" j[Else
[elsestatements]]
End If
两种格式都条件执行一系列语句。
% O0 f/ a2 c" P! `- ?: x* g) uOn Error
On Error Resume Next
当一个错误发生时,这条语句就执行紧靠发生错误语句后面的语句,或者执行紧靠调用进程后面的语句。
2 }- K/ F/ j: N4 n# i( W, HOption Explicit
Option Explicit
$ l& ?# _8 F3 p$ @/ z在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
' W, f6 Q2 O4 l2 p. uPrivate
8 e2 d6 q& O: HPrivate varname[([下标])][, varname[([下标])] . . .
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
' S+ q$ X6 d! BPublic
0 v7 K7 Z9 H3 ?& ^3 i" SPublic varname[([下标])][, varname[([下标])] . . .
* K3 ?% `2 \8 G6 I! {创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
$ i2 I% w$ Q q6 w. kRandomize
Randomize [number]
9 M6 W% y9 [/ `给Rnd函数的随机数发生器一个新种子值。
! c* ]6 Y0 E2 Q7 g/ k. Z1 fReDim
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . .
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
6 b8 h' e, ^1 p6 gRem
. y; |7 W& |) B0 o语法1:
Rem comment
, k& N, X$ D- G: P L语法2:
! j, f0 b/ a, k6 r‘comment
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
' r6 j4 R) Z/ h% ZSelect Case
Select Case testexpression
/ n, U1 r* Q0 S; ]+ C[Case expressionlist-n
[statements-n]] . . .
[Case Else expressionlist-n
. Z, | n9 ~4 a/ B+ H[elsestatements-n]]
End Select
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
0 Q3 j0 i! W# k, R! |+ G* y6 F! w2 vSet
Set obectvar= {objectexpression | Nothing}
- J0 A) z/ z/ c" h# G& M2 q0 q赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
Sub
[Public | Private] Sub name [(arglist)]
[statements]
[Exit Sub]
# P- ?( O6 G4 y# f5 }5 ? e! d[statements]
% X" f y# j' G' e( qEnd Sub
% S/ y) ?6 q& L定义一个子程序,指明名称,参数及代码。
3 L! D# s: t# |. m8 y( V( {While . . . Wend
While condition
: O, ~3 M3 e6 {[statements]
- C/ ]9 F: ?) k; T* j1 ~Wend
7 S! m4 B; Q# _ T& E& K不停地连续执行语句statements 直到条件condition为True。
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |