您好,欢迎来到九壹网。
搜索
您的当前位置:首页VB语法格式

VB语法格式

来源:九壹网
Call 语句

描述

将控制权传递给 Sub 过程或 Function 过程。 语法

[Call] name [argumentlist] Call 语句语法有以下部分: 部分 Call 描述 可选关键字。如果指定此关键字,则必须用括号把 argumentlist 括起来。例如: Call MyProc(0) name 必选。要调用的过程名。 argumentlist 可选。传递给过程的变量、数组或表达式列表,用逗号分隔每一项。 说明

在调用过程时,不必使用 Call 关键字。然而,如果使用 Call 关键字调用要求参数的过程,则必须用括号将 argumentlist 括起来。如果省略 Call 关键字,那么必须也同时省略 argumentlist 参数两边的括号。使用 Call 语法调用内部函数或使用用户自定义函数,函数返回值都会被放弃。

Const 语句

描述

声明用于代替文字值的常数。 语法

[Public | Private] Const constname = expression Const 语句的语法包含以下部分: 部分 Public 描述 可选。该关键字用于在 Script 级中声明可用于所有 Script 中所有过程的常数。不允许在过程中使用。 Private 可选。该关键字用于在 Script 级中声明只可用在声明所在的 Script 中的常数。不允许在过程中使用。 constname 必选。常数的名称,根据标准的变量命名约定。 expression 必选。文字或其他常数,或包括除 Is 外的所有算术操作符和逻辑操作符的任意组合。 说明

在默认情况下常数是公用的。过程中的常数总是专有的,其可见性无法改变。Script 中,可用 Private 关键字来改变 Script 级常数可见性的默认值。

要在同一行中声明若干个常数,可用逗号将每个常数赋值分开。用这种方法声明常数时,如果使用了 Public 或 Private 关键字,则该关键字对该行中所有常数都有效。

常数声明中不能使用变量、用户自定义的函数或 VBScript 内部函数(如 Chr)。按定义,它们不能是常数。另外也不能从含有操作符的表达式中创建常数,即只允许使用简单常数。在 Sub 或 Function 过程中声明的常数是该过程的局部常数。在过程外声明的常数是声明所在的 Script 中的全局常数。可以在任何使用表达式的地方使用常数。

注意 常数可以使 Script 更具可读性,且易于修改。在 Script 运行时,常数不会象变量那样无意中被改变。

Dim 语句

描述

声明变量并分配存储空间。 语法

Dim varname[([subscripts])][, varname[([subscripts])]] . . . Dim 语句的语法包含以下部分: 部分 varname 描述 变量的名称,符合标准变量命名约定。 subscripts 数组变量的维数,最多可以声明 60 维的数组。subscripts 参数使用以下语法: upperbound [,upperbound] . . . 数组下界总是 0。 说明

用 Dim 声明的 Script 级变量可用于 Script 中的所有过程,过程级变量只能用于过程中。 也可用带空圆括号的 Dim 语句来声明动态数组。声明动态数组后,可在过程内使用 ReDim 语句来定义该数组的维数和元素。如果试图重新定义在 Dim 语句中已经显式指定维数的数组,则会发生错误。

在初始化变量时,数值变量被初始化为 0,字符串被初始化为零长度字符串 (\"\")。 提示 在过程中使用 Dim 语句时,通常将 Dim 语句放在过程的开始处。

Do...Loop 语句

描述

当条件为 True 时或条件变为 True 之前重复执行某语句块。 语法

Do [{While | Until} condition] [statements] [Exit Do] [statements] Loop

也可以使用下面的语法: Do

[statements] [Exit Do] [statements]

Loop [{While | Until} condition] Do...Loop 语句语法有以下部分: 部分 描述 condition 数值或字符串表达式,其值为 True 或 False。如果 condition 为 Null,则 condition 被当作 False。 statements 当 condition 为 True 时被重复执行的一条或多条命令。 说明

Exit Do 仅可以用在 Do...Loop 控制语句中,提供另一种退出 Do...Loop 的方法。可以在 Do...Loop 语句中的任何位置放置任意个 Exit Do。Exit Do 通常与条件判断语句(如 If...Then )一起使用,将控制传递给紧随在 Loop 语句后面的语句。

当用于嵌套 Do...Loop 中的时候,Exit Do 将控制传递给其所在循环的上一层嵌套循环。

Erase 语句

描述

重新初始化固定大小数组的元素,并释放动态数组的存储空间。 语法

Erase array

array 参数是要清除的数组变量的名称。 说明

判断数组是固定长度数组(常规)还是动态数组是很重要的,这是因为 Erase 要根据数组的类型进行不同的操作。Erase 无需为固定大小的数组还原内存。Erase 按照下表设置固定数组的元素: 数组的类型 固定数值数组 固定字符串数组 对象数组 Erase 对固定数组元素的影响 将每个元素设置为 0。 将每个元素设置为零长度字符串 (\"\")。 将每个元素设置为特殊值 Nothing。 Erase 释放动态数组所使用的内存。在程序再次引用该动态数组之前,必须使用 ReDim 语句来重新定义该数组变量的维数。

Exit 语句

描述

退出 Do...Loop、For...Next、Function 或 Sub 代码块。

语法 Exit Do Exit For Exit Function Exit Sub

Exit 语句的语法有以下几种形式: 语句 Exit Do 描述 提供一种退出 Do...Loop 语句的方法。只能在 Do...Loop 语句中使用。Exit Do 将控制权转移到 Loop 语句之后的语句。在嵌套的 Do...Loop 语句中使用时,Exit Do 将控制权转移到循环所在位置的上一层嵌套循环。 Exit For 提供一种退出 For 循环的方法。只能在 For...Next 或 For Each...Next 循环中使用。Exit For 将控制权转移到 Next 之后的语句。在嵌套的 For 循环中使用时,Exit For 将控制权转移到循环所在位置的上一层嵌套循环。 Exit 立即从出现的位置退出 Function 过程。继续执行调用 Function 的Function 语句后面的语句。 Exit Sub 立即从出现的位置退出 Sub 过程,继续执行调用 Sub 的语句后面的语句。 For...Next 语句

描述

以指定次数重复执行一组语句。 语法

For counter = start To end [Step step] [statements] [Exit For] [statements] Next

For...Next 语句的语法包含以下部分:

部分 counter 描述 用做循环计数器的数值变量。这个变量不能是数组元素或用户自定义类型的元素。 start end step counter 的初值。 counter 的终值。 counter 的步长。如果没有指定,则 step 的默认值为 1。 statements For 和 Next 之间的一条或多条语句,将被执行指定次数。 说明

step 参数可以是正数或负数。step 参数值决定循环的执行情况,如下所示: 值 正数或 0 负数 如果 ... 则循环执行 counter <= end counter >= end 当循环启动并且所有循环中的语句都执行后,step 值被加到 counter 中。这时,或者循环中的语句再次执行(基于循环开始执行时同样的测试),或者退出循环并从 Next 语句之后的语句继续执行。

提示 在循环中改变 counter 的值,将会使程序代码的阅读和调试变得更加困难。

Exit For 只能用于 For Each...Next 或 For...Next 结构中,提供另一种退出循环的方法。可在语句中的任意位置放置任意个 Exit For 语句。Exit For 经常和条件判断语句一起使用(例如 If...Then),并立即将控制权转移到 Next 之后的语句。

可以将一个 For...Next 循环放置在另一个 For...Next 循环中,组成嵌套循环。每个循环中的 counter 要使用不同的变量名。下面的结构是正确的: For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 . . . Next Next Next

For Each...Next 语句

描述

对数组或集合中的每个元素重复执行一组语句。 语法

For Each element In group [statements] [Exit For] [statements] Next [element]

For Each...Next 语句的语法包含以下部分: 部分 element 描述 用来枚举集合或数组中所有元素的变量。对于集合,element 可能是 Variant 变量、通用 Object 变量或任意指定的 Automation 对象变量。对于数组,element 只能是 Variant 变量。 group 对象集合或数组的名称。 statements 对于 group 中的每一项执行的一条或多条语句。 说明

如果 group 中有至少一个元素,就会进入 For Each 块执行。一旦进入循环,便首先对 group 中第一个元素执行循环中的所有语句。只要 group 中还有其他的元素,就会对每个元素执行循环中的语句。当 group 中的没有其他元素时退出循环,然后从 Next 语句之后的语句继续执行。 Exit For 只能用于 For Each...Next 或 For...Next 控制结构中,提供另一种退出循环的方法。可在循环的任意位置放置任意个 Exit For 语句。Exit For 经常和条件判断语句一起使用(例如 If...Then),并立即将控制权转移到 Next 之后的语句。

可以将一个 For Each...Next 循环放置在另一个之中,组成嵌套式 For Each...Next 循环。但是每个循环的 element 必须是唯一的。

注意 如果省略 Next 语句中的 element,则程序仍会象已包含它一样继续执行。如果 Next 语句在其相应的 For 语句之前出现,则会产生错误。

Function 语句

描述

声明 Function 过程的名称、参数以及构成其主体的代码。 语法

[Public | Private] Function name [(arglist)] [statements] [name = expression] [Exit Function] [statements] [name = expression] End Function

Function 语句的语法包含以下部分: 部分 Public Private name arglist 描述 表示 Function 过程可被所有 Script 中的所有其他过程访问。 表示 Function 过程只可被声明它的 Script 中的其他过程访问。 Function 的名称,遵循标准的变量命名约定。 代表调用时要传递给 Function 过程的参数的变量列表。用逗号隔开多个变量。 statements 在 Function 过程的主体中执行的任意语句组。 expression Function 的返回值。 arglist 参数包含下列语法和部分: [ByVal | ByRef] varname[( )] 部分 ByVal ByRef varname 说明

如没有显式指定使用 Public 或 Private,则 Function 过程默认为公用,即它们对于 Script 中的所有其他过程是可见的。Function 中局部变量的值在对过程的调用中不被保留。 所有可执行代码必须包含于过程中。不能在另一个 Function 或 Sub 过程中定义 Function 过程。

使用 Exit Function 语句可以从 Function 过程中立即退出。程序继续执行调用 Function 过程的语句之后的语句。可在 Function 过程的任何位置出现任意个 Exit Function 语句。

描述 表示该参数按值传递。 表示该参数按引用传递。 代表参数变量的名称;遵循标准的变量命名约定。 与 Sub 过程类似,Function 过程是可以获取参数、执行一系列语句并改变其参数值的过程。与 Sub 过程的不同之处是:当要使用由函数返回的值时,可以在表达式的右边使用 Function 过程,这与内部函数的使用方式一样,例如 Sqr、Cos 或 Chr。

在表达式中,可以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用 Function 过程。有关调用 Function 过程的详细信息,请参阅 Call 语句。

小心 Function 过程可以是递归的,即该过程可以调用自身以完成某个给定的任务。

但是,递归可能会导致堆栈溢出。

要从函数返回一个值,只需将值赋给函数名。在过程的任意位置都可以出现任意个这样的赋值。如果没有给 name 赋值, 则过程将返回一个默认值:数值函数返回 0,字符串函数返回零长度字符串 (\"\")。如果在 Function 中没有对象引用被指定给 name(使用 Set),则返回对象引用的函数将返回 Nothing。

下面的样例说明如何给一个名为 BinarySearch 的函数赋返回值。在此样例中,将 False 赋给了该函数名,表示没有找到某个值。

Function BinarySearch(. . .) . . .

' 未找到该值。返回 False 值。 If lower > upper Then BinarySearch = False Exit Function End If . . . End Function

在 Function 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)总是过程的局部变量。被使用但没有在过程中显式声明的变量也是局部变量,除非在该过程外更高级别的位置显式声明它们。 小心 过程可以使用没有在过程内显式声明的变量,但如果在 Script 级中任何定义的名称与之相同,则会发生名称冲突。如果过程中使用的未声明的变量与另一个过程、常数或变量的名称相同,则会认为过程使用的是 Script 级的名称。显式声明小心 VBScript 可能会重新排列数学表达式以提高内部效率。当 Function 过程修改数学表达式中变量的值时,应避免在同一表达式中使用该函数。

变量可以避免这类冲突。可以使用 Option Explicit 语句来强制显式声明变量。

If...Then...Else 语句

描述

根据表达式的值有条件地执行一组语句。 语法

If condition Then statements [Else elsestatements ] 或者,使用块形式的语法: If condition Then [statements]

[ElseIf condition-n Then [elseifstatements]] . . . [Else

[elsestatements]] End If

If...Then...Else 语句的语法包含以下部分: 部分 condition 描述 一个或多个下面两种类型的表达式: 数值或字符串表达式,其运算结果是 True 或 False。如果 condition 是 Null,则 condition 被视为 False。 形如 TypeOf objectname Is objecttype 的表达式。objectname 是任何对象的引用,而 objecttype 则是任何有效的对象类型。如果 objectname 是 objecttype 所指定的一种对象类型,则表达式为 True;否则为 False。 statements 如果 condition 为 True 时,执行的一条或多条(以冒号分开)语句。 condition-n 同 condition。 elseifstatements 如果相关的 condition-n 为 Ture时,执行的一条或多条语句。 elsestatements 如果前面没有 condition 或 condition-n 表达式为 True 时,执行的一条或多条语句。 说明

对于短小简单的测试,可以使用单行形式(第一种语法)。但块形式(第二种语法)提供了比单行形式更强的结构化与适应性,比较容易阅读、维护及调试。

注意 在单行语法中,可以执行多条语句作为 If...Then 判断的结果,但所有语句必须在同一行上并且以冒号分开,如下列语句所示:

If A > 10 Then A = A + 1 : B = B + A : C = C + B

当程序运行到 If 块(第二种语法)时,将测试 condition。如果 condition 是 True,则执行 Then 之后的语句。如 condition 是 False,则每个 ElseIf 部分的条件式(如果有的话)会依次计算并加以测试。当找到某个为 True 的条件时,则其相关的 Then 之后的语句会被执

行。如没有一个 ElseIf 语句是 True(或没有 ElseIf 子句),则将执行 Else 之后的语句。执行 Then 或 Else 之后的语句以后,将继续执行 End If 之后的语句。

Else 和 ElseIf 子句都是可选的。在 If 块中可以放置任意多个 ElseIf 子句,但是都必须在 Else 子句之前。If 块语句可以被嵌套,即被包含在另一个 If 块语句之中。

要判断某个语句是否是一个 If 块,可检查 Then 关键字之后是什么。如果在 Then 的同一行之后还有其他非注释的内容,则此语句就是单行形式的 If 语句。 If 块语句必须是某一行的第一条语句,并且必须以 End If 语句结束。

On Error 语句

描述

启动错误处理程序。 语法

On Error Resume Next 说明

若不使用 On Error Resume Next 语句,发生的任何运行时错误都将是致命的,即,显示错误信息并终止运行。

On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用过程(该过程含有 On Error Resume Next 语句)的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,On Error Resume Next 语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。

Option Explicit 语句

描述

用于 Script 级强制要求显式声明该 Script 中的所有变量。 语法

Option Explicit 说明

如果使用 Option Explicit,该语句必须出现在 Script 的任何过程之前。

使用 Option Explicit 语句时,必须使用 Dim、Private、Public 或 ReDim 语句显式声明所有变量。如果试图使用未经声明的变量名,则会出现错误。

提示 可用 Option Explicit 避免拼错已存在的变量名称。对于作用范围不清楚的变量,使用此语句可避免发生混淆。

Private 语句

描述

用于在 Script 级中声明私有变量及分配存储空间。 语法

Private varname[([subscripts])][, varname[([subscripts])]] . . . Private 语句的语法包含以下部分: 部分 varname 描述 变量的名称,遵循标准变量命名约定。 subscripts 数组变量的维数,最多可以声明 60 维的数组。subscripts 参数使用下列语法: upper [, upper] . . . 数组的下界总是 0。 说明

Private 变量只能在声明该变量的 Script 中使用。

在使用引用对象的变量之前,必须用 Set 语句将某个现有对象赋予此变量。在赋值之前,所声明的对象变量有一个特殊的值 Nothing。

也可用带空圆括号的 Private 语句声明动态数组。声明动态数组后,可在过程内使用 ReDim 语句定义该数组的维数和元素。如果在 Private、Public 或 Dim 语句中已显式指定数组大小,却试图重新声明数组维数,就会发生错误。

在初始化变量时,数值变量被初始化为 0,字符串被初始化为零长度字符串 (\"\")。 提示 在过程中使用 Private 语句时,通常将 Private 语句放在过程的开始处。

Public 语句

描述

用于在 Script 级中声明公用变量和分配存储空间。 语法

Public varname[([subscripts])][, varname[([subscripts])]] . . . Public 语句的语法包含以下部分: 部分 varname 描述 变量的名称,遵循标准变量命名约定。 subscripts 数组变量的维数;最多可以声明 60 维的数组。 subscripts 参数使用下列语法: upper [,upper] . . . 数组的下界总是 0。 说明

使用 Public 语句声明的变量可用于所有项目的全部 Script 中的所有过程。

在使用引用对象的变量之前,必须用 Set 语句将某个已有对象赋予该变量。在赋值之前,所声明的对象变量有一个特殊的值 Nothing。

也可用带空圆括号的 Public 语句来声明动态数组。声明动态数组后,可在过程内使用 ReDim 语句来定义该数组的维数和元素。如果试图重新声明数组变量的维数,且此数组变量的大小已在 Private、Public 或 Dim 语句中显式地指定,则会发生错误。

当初始化变量时,数值变量被初始化为 0,字符串被初始化为零长度字符串 (\"\")。

Randomize 语句

描述

初始化随机数生成器。 语法

Randomize [number]

number 参数可以是任何有效的数值表达式。 说明

Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略 number,则使用系统计时器返回的值作为新的种子值。

如果不使用 Randomize,则第一次调用 Rnd 函数(无参数)时,它将使用相同的数字作为种子值,随后使用最后生成的数值作为种子值。

注意 要重复随机数的序列,请在使用数值参数调用 Randomize 之前,立即用负值

参数调用 Rnd。使用相同的 number 值的 Randomize 不能重复先前的随机数序列。

ReDim 语句

描述

用于过程级声明动态数组变量并分配或重新分配存储空间。 语法

ReDim [Preserve] varname(subscripts) [, varname(subscripts)] . . . ReDim 语句语法有以下部分: 部分 Preserve varname 描述 当更改现有数组最后一维的大小时保留数据。 变量名,遵循标准变量命名约定。 subscripts 数组变量的维数,最多可以声明 60 维数组。subscripts 参数语法格式如下: upper [,upper] . . . 数组的下界总是零。 说明

ReDim 语句通常用于指定或修改动态数组的大小,这些数组已用带有空括号的 Private、Public 或 Dim 语句(没有维数下标)正式声明过。可以重复使用 ReDim 语句更改数组维数和元素数目。

如果使用了 Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。例如,如果数组只有一维,就可以修改该数组的大小,因为该维是最后的也是仅有的一维。但是,如果数组有两个或更,就只能改变末维的大小并保留数组内容。下面的样例示范了如何不删除动态数组的原有内容而又增加末维的大小。 ReDim X(10, 10, 10) . . .

ReDim Preserve X(10, 10, 15)

小心 如果减小数组的大小,则将丢失被排除的元素中的数据。

变量初始化时,数值变量初始化为 0,字符串变量初始化为零长度字符串 (\"\")。在使用引用对象的变量前,必须使用 Set 语句将某个现有对象赋予该变量。在进行对象赋值以前,已声明的对象变量有特定值 Nothing。

Rem 语句

描述

用于包含程序中的解释性注释。 语法

Rem comment 或 ' comment

comment 参数是需要包含的注释文本。在 Rem 关键字和 comment 之间应有一个空格。

说明

正如“语法”部分所示,可以用单引号 (') 代替 Rem 关键字。如果 Rem 关键字和语句在同一行,需要用分号来分隔它们。但如果使用单引号,则不需要在单引号和语句之间使用分号。

Select Case 语句

描述

根据表达式的值执行几组语句之一。 语法

Select Case testexpression [Case expressionlist-n [statements-n]] . . .

[Case Else expressionlist-n [elsestatements-n]] End Select

Select Case 语句的语法包含以下部分: 部分 testexpression 描述 任意数值或字符串表达式。 expressionlist-n 如 Case 出现则必选。一个或多个表达式的分界列表。 statements-n 当 testexpression 与 expressionlist-n 中的任意部分匹配时,执行的一条或多条语句。 elsestatements 当 testexpression 与 Case 子句的任何部分不匹配时,执行的一条或多条语句。 说明

如果 testexpression 与任何 Case expressionlist 表达式匹配,则执行此 Case 子句和下一个 Case 子句之间的语句,对于最后的子句,则会执行该子句到 End Select 之间的语句,然后控制权会转到 End Select 之后的语句。如 testexpression 与多个 Case 子句中的 expressionlist 表达式匹配,则只有第一个匹配后的语句被执行。

Case Else 用于指示若在 testexpression 和任何其他 Case 选项的 expressionlist 之间未找到匹配,则执行 elsestatements。虽然不是必要的,但最好是将 Case Else 语句置于 Select Case 块中以处理不可预见的 testexpression 值。如果没有 Case expressionlist 与 testexpression 匹配且无 Case Else 语句,则继续执行 End Select 之后的语句。 Select Case 语句可以是嵌套的,每一层嵌套的 Select Case 语句必须有与之匹配的 End Select 语句。

Set 语句

描述

将对象引用赋给变量或属性。 语法

Set objectvar = {objectexpression | Nothing} Set 语句的语法包含以下部分:

部分 objectvar 描述 变量或属性的名称,遵循标准变量命名约定。 objectexpression 由对象名称、另一个已声明为相同对象类型的变量或返回相同对象类型的对象的函数或方法组成的表达式。 Nothing 停止 objectvar 与任何指定对象的关联。当没有其他变量引用 objectvar 原来所引用的对象时,如将其赋为 Nothing 会释放与该对象所关联的所有系统和内存资源。 说明

为确保有效,objectvar 必须与所赋对象的类型一致。

Dim、Private、Public 或 ReDim 语句只声明了引用对象的变量。只有使用 Set 语句将指定对象赋予该变量后,才能引用实际的对象。

通常,当使用 Set 将一个对象引用赋给变量时,并不是为变量创建对象的副本,而是创建对象的引用。可有多个对象变量引用同一个对象。因为这些变量是对象引用(不是副本),所以对对象所作的任何改动都会影响所有引用该对象的变量。

Sub 语句

描述

声明 Sub 过程的名称、参数以及构成其主体的代码。 语法

[Public | Private] Sub name [(arglist)] [statements] [Exit Sub] [statements] End Sub

Sub 语句的语法包含以下部分: 部分 Public Private name 描述 表示 Sub 过程可被所有 Script 中的所有其他过程访问。 表示 Sub 过程只可被声明该过程的 Script 中的其他过程访问。 Sub 的名称,遵循标准变量命名约定。 arglist 代表在调用时要传递给 Sub 过程的参数的变量列表。用逗号隔开多个变量。 statements 在 Sub 过程主体内所执行的任何语句组。 arglist 参数包含下列语法和部分: [ByVal | ByVal] varname[( )] 部分 ByVal ByRef varname 说明

如没有显式地指定使用 Public 或 Private,则 Sub 过程默认为公用,即它们对于 Script 中的所有其他过程都是可见的。Sub 过程中局部变量的值在调用过程中不被保留。

所有可执行代码必须包含于过程中。不能在另一个 Sub 或 Function 过程中定义一个 Sub 过程。

使用 Exit Sub 语句可以立即从 Sub 过程中退出。程序继续执行调用 Sub 过程的语句之后的语句。可以在 Sub 过程中任意位置出现任意个 Exit Sub 语句。

与 Function 过程相似之处是:Sub 过程是一个可以获取参数,执行一系列语句以及可改变其参数的值的过程。而与 Function 过程不同之处是:Function 过程可以返回值,而 Sub 过程不能用于表达式中。

可以使用过程名并跟随相应的参数列表来调用 Sub 过程。关于如何调用 Sub 过程的详细说明信息,请参阅 Call 语句。

小心 Sub 过程可以是递归的,即该过程可以调用自己来完成某个给定的任务。但是递归可能会导致堆栈溢出。

描述 表示该参数按值传递。 表示该参数按引用传递。 代表参数的变量名称,遵循标准变量命名约定。

在 Sub 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)总是局部变量。对于那些没有在过程中显式声明的变量也是局部的,除非在该过程外更高级别的位置显式地声明它们。

小心 过程可以使用没有在过程内显式声明的变量,但只要有任何 script 级定义的名称与之同名,就会产生名称冲突。如果过程中引用的未声明的变量与其他的过程、

常数或变量的名称相同,则会认为过程引用的是 Script 级的名称。显式声明变量可以避免这类冲突,使用 Option Explicit 语句可强制显式声明变量。

While...Wend 语句

描述

当指定的条件为 True 时,执行一系列的语句。 语法

While condition [statements] Wend

While...Wend 语句语法有以下部分: 部分 描述 condition 数值或字符串表达式,其计算结果为 True 或 False。如果 condition 为 Null,则 condition 被当作 False。 statements 在条件为 True 时执行的一条或多条语句。 说明

如果 condition 为 True,则 statements 中所有 Wend 语句之前的语句都将被执行,然后控制权将返回到 While 语句,并且重新检查 condition。如果 condition 仍为 True,则重复执行上面的过程。如果不为 True,则从 Wend 语句之后的语句继续执行程序。 While...Wend 循环可以是多层嵌套结构。每个 Wend 与最近的 While 语句对应。 提示 Do...Loop 语句提供一种结构化与适应性更强的方法以执行循环。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务