VB常用语句

VB常用语句
VB常用语句

VB常用语句.txt都是一个山的狐狸,你跟我讲什么聊斋,站在离你最近的地方,眺望你对别人的微笑,即使心是百般的疼痛只为把你的一举一动尽收眼底.刺眼的白色,让我明白什么是纯粹的伤害。VB常用语句

关键词: VB

语句:

1.AppActivate语句

激活一应用程序窗口。

语法

AppActivate title[, wait]

AppActivate 语句的语法具有以下几个命名参数:

部分描述

title 必需的。字符串表达式,所要激活的应用程序窗口的标题。可以使用 Shell 函数返回的任务识别码来替换 title,以激活应用程序。

wait 可选的。Boolean值,说明在激活另一个应用程序之前调用的应用程序是否有焦点。如果为 False(缺省),那么,即使调用的应用程序

没有焦点,也直接激活指定的应用程序。如果为 True,则调用的应用程序会等到有焦点后,才激活指定的应用程序。

说明

AppActivate 语句将焦点移动到命名的应用程序或窗口,但并不影响焦点是否最大化或最小化。当用户采取行动改变焦点或将窗口关闭时,就

会将焦点从活动的应用程序窗口移动出去。可用 Shell 函数启动一个应用程序并设置窗口样式。

在决定激活哪个应用程序时,请将 title 与每一个运行中的应用程序的标题字符串进行比较。如果没有完全匹配,就激活任何这样的应用程序

,其标题字符串以 title 开头。如果以 title 命名的应用程序有很多实例,则激活任何一个实例。

2.Beep语句

通过计算机喇叭发出一个声调。

语法

Beep

说明

呼叫的频率与时间长短取决于硬件和系统软件,并随电脑不同而不同。

3.Call语句返回

将控制权转移到一个 Sub 过程,Function 过程,或动态连接库 (DLL)过程。

语法

[Call] name [argumentlist]

Call 语句的语法具有以下几个部分:

部分描述

Call 可选参数;关键字。如果指定了这个关键字,则 argumentlist 必须加上括号,例如:

Call MyProc(0)

name 必要参数,要调用的过程名称。

argumentlist

说明

调用一个过程时,并不一定要使用 Call 关键字。如果使用 Call 关键字来调用一个需要参数的过程,argumentlist 就必须要加上括号。如果

省略了 Call 关键字,那么也必须要省略 argumentlis 外面的括号。如果使用 Call 语法来调用内建函数或用户定义函数,则函数的返回值将

被丢弃。

若要将整个数组传给一个过程,使用数组名,然后在数组名后加上空括号。

4.ChDir语句返回

改变当前的目录或文件夹。

语法

ChDir path

必要的 path 参数是一个字符串表达式,它指明哪个目录或文件夹将成为新的缺省目录或文件夹。path 可能会包含驱动器。如果没有指定驱动

器,则 ChDir 在当前的驱动器上改变缺省目录或文件夹。

说明

ChDir 语句改变缺省目录位置,但不会改变缺省驱动器位置。例如,如果缺省的驱动器是 C,则下面的语句将会改变驱动器 D 上的缺省目录,

但是 C 仍然是缺省的驱动器:

ChDir "D:\TMP"

5.ChDrive语句返回

改变当前的驱动器。

语法

ChDrive drive

必要的 drive 参数是一个字符串表达式,它指定一个存在的驱动器。如果使用零长度的字符串 (""),则当前的驱动器将不会改变。如果

drive 参数中有多个字符,则 ChDrive 只会使用首字母。

6.Close语句返回

关闭 Open 语句所打开的输入/输出 (I/O) 文件。

语法

Close [filenumberlist]

可选的 filenumberlist参数为一个或多个文件号,其中 filenumber 为任何有效的文件号,语法如下:

[[#]filenumber] [, [#]filenumber] . . .

说明

若省略 filenumberlist,则将关闭 Open 语句打开的所有活动文件。

当关闭 Output 或 Append 打开的文件时,将属于此文件的最终输出缓冲区写入操作系统缓冲区。所有与该文件相关联的缓冲区空间都被释放

在执行 Close 语句时,文件与其文件号之间的关联将终结。

7.Const语句返回

声明用于代替文字量的常数。

语法

[Public | Private] Const constname [As type] = expression

Const 语句的语法包含下面部分:

部分描述

Public 可选的。该关键字用于在模块级别中声明在所有模块中对所有过程都可以使用的常数。在过程中不能使用。

Private 可选的。该关键字用于在模块级声明只能在包含该声明的模块中使用的常数。不能在过程中使用。

constname 必需的。常数的名称;遵循标准的变量命名约定。

type 可选的。常数的数据类型;可以是Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String

或 Variant。所声明的每个变量都要使用一个单独的 As 类型子句。

expression 必需的。文字,其它常数,或由除 Is 之外的任意的算术操作符和逻辑操作符所构成的任意组合。

说明

在缺省情况下常数是私有的。过程中的常数总是私有的;它们的可见性无法改变。在标准模块中,可以用 Public 关键字来改变模块级常数可

见性的缺省值。不过,在类模块中,常数只能是私有的,而且用 Public 关键字也不能改变其可见性。

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

键字对该行中所有常数都有效。

在给常量赋值的表达式中,不能使用变量,用户自定义的函数,或 Visual Basic 的内部函数(如 Chr)。

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

如果在声明常数时没有显式地使用 As type 子句,则该常数的数据类型是最适合其表达式的数据类型。

在 Sub、Function 或 Property 过程中声明的常数都是该过程的局部常数。在过程外声明的常数,在包含该声明的模块中被定义。在可以使用

表达式的地方,都可以使用常数。

8.Date语句返回

设置当前系统日期。

语法

Date = date

对于运行 Microsoft Windows 95 的系统,要设置的 date 必须介于 1980 年 1月 1 日与 2099 年 12 月 31 日之间。对于运行 Microsoft

Windows NT 的系统,date 必须介于公元 1980 年 1 月 1 日到 2079 年 12 月 31 日之间。

9.Declare语句返回

用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。

语法 1

[Public | Private] Declare Sub name Lib "libname" [Alias "aliasname"] [([arglist])]

语法 2

[Public | Private] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])] [As type]

Declare 语句的语法包含下面部分:

部分描述

Public 可选的。用于声明对所有模块中的所有其它过程都可以使用的过程。

Private 可选的。用于声明只能在包含该声明的模块中使用的过程。

Sub 可选的(但 Sub 或 Function 二者需选其一)。表示该过程没有返回值。

Function 可选的(但 Sub 或 Function 二者需选其一)。表示该过程会返回一个可用于表达式的值。

name 必需的。任何合法的过程名。注意动态链接库的入口处(entry points)区分大小写。

Lib 必需的。指明包含所声明过程的动态链接库或代码资源。所有声明都需要 Lib 子句。

libname 必需的。包含所声明的过程动态链接库名或代码资源名。

Alias 可选的。表示将被调用的过程在动态链接库 (DLL) 中还有另外的名称。当外部过程名与某个关键字重名时,就可以使用这个参数。当动

态链接库的过程与同一范围内的公用变量、常数或任何其它过程的名称相同时,也可以使用 Alias。如果该动态链接库过程中的某个字符不符

合动态链接库的命名约定时,也可以使用 Alias。

aliasname 可选的。动态链接库或代码资源中的过程名。如果首字符不是数字符号 (#),则 aliasname 是动态链接库中该过程的入口处的名称

。如果首字符是 (#),则随后的字符必须指定该过程的入口处的顺序号。

arglist 可选的。代表调用该过程时需要传递的参数的变量表。

type 可选的。Function 过程返回值的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持

)、Date、String(只支持变长)或 Variant,用户定义类型,或对象类型。

arglist 参数的语法以及语法各个部分如下:

[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type]

部分描述

Optional 可选的。表示参数不是必需的。如果使用该选项,则 arglist 中的后续参数都必需是可选的,而且必须都使用 Optional 关键字声

明。如果使用了 ParamArray,则任何参数都不能使用 Optional。

ByVal 可选的。表示该参数按值传递。

ByRef 表示该参数按地址传递。 ByRef 是 Visual Basic 的缺省选项。

ParamArray 可选的。只用于 arglist 的最后一个参数,表示最后的参数是一个 Variant 元素的 Optional 的数组。使用 ParamArray 关键字

可以提供任意数目的参数。ParamArray 关键字不能与 ByVal、ByRef或 Optional 一起使用。

varname 必需的。代表传给该过程的参数的变量名;遵循标准的变量命名约定。

( ) 对数组变量是必需的。指明 varname 是一个数组。

type 可选的。传递给该过程的参数的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支

持)、Date、String(只支持变长)、Object、Variant、用户自定义的类型或对象类型。

说明

对Function 过程而言,过程的数据类型决定其返回值的数据类型。可以在 arglist 之后使用 As 子句来指定函数返回值的数据类型。在

arglist 中,可以使用 As 子句来指定任何传给该过程的参数的数据类型。不单可以指定为任何标准数据类型,还可以在 arglist 中指定 As

Any 来禁止类型检查,从而允许将任意数据类型传递给该过程。

空圆括号表示该 Sub 或 Function 过程没有参数,且 Visual Basic 应确保不会传递任何参数。在下面的示例中,First 不带任何参数。如果

对 First 的调用中使用了参数,就会产生错误:

Declare Sub First Lib "MyLib" ()

如果带参数表,则每次调用该过程时都要检查参数的个数和类型。在下面的示例中,First 有一个 Long 参数:

Declare Sub First Lib "MyLib" (X As Long)

注意在 Declare 语句的参数表中不能有定长的字符串;只有变长的字符串才能传给过程。定长的字符串可以作为过程参数使用,但在传递前

都要被转换为变长的字符串。

注意当所调用的外部过程需要一个值为 0 的字符串时,就要使用 vbNullString 常数。该常数与零长度字符串 ("") 是不相同的。

10.Deftype语句

在模块级别上,为变量和传给过程的参数,设置缺省数据类型,以及为其名称以指定的字符开头的 Function 和 Property Get 过程,设置返

回值类型。

语法

DefBool letterrange[, letterrange] . . .

DefByte letterrange[, letterrange] . . .

DefInt letterrange[, letterrange] . . .

DefLng letterrange[, letterrange] . . .

DefCur letterrange[, letterrange] . . .

DefSng letterrange[, letterrange] . . .

DefDbl letterrange[, letterrange] . . .

DefDec letterrange[, letterrange] . . .

DefDate letterrange[, letterrange] . . .

DefStr letterrange[, letterrange] . . .

DefObj letterrange[, letterrange] . . .

DefVar letterrange[, letterrange] . . .

所需的 letterrange 参数遵循下述语法:

letter1[-letter2]

letter1 和 letter2 参数指定设置缺省数据类型的名称范围。每个参数都是指变量,参数和 Function 过程,或 Property Get 过程名称的首

字母,且参数可以是字母表中的任意字母。letterrange 中不区分字母的大小写。

说明

语句的名字就确定相应的数据类型:

语句数据类型

DefBool 布尔

DefByte Byte

DefInt Integer

DefLng Long

DefCur Currency

DefSng Single

DefDbl Double

DefDec Decimal(目前尚不支持)

DefDate Date

DefStr String

DefObj Object

DefVar Variant

例如,在下面的程序段中,Message 就是一个字符串变量:

DefStr A-Q

. . .

Message = "Out of stack space."

Deftype 语句只在使用该语句的模块中有效。例如,一个模块中的 DefInt 语句只对在该模块中声明的变量和传给过程的参数的缺省数据类型

,以及 Function 和 Property Get 过程的返回值的类型有效;而其它模块中的变量、参数、以及返回值的缺省数据类型就不受影响。如果不

用 Deftype 语句显式地声明,则所有变量、参数、Function 过程、以及 Property Get 过程的缺省数据类型都是 Variant。

当指定字符范围时,通常为以字符集的前 128 个字符中的字符开始的变量定义数据类型。不过,如果指定的字符范围是A-Z,则将所有的变量

,包括以字符集的扩展部分(128-255) 中的国际字符开始的变量的缺省类型都设为指定的类型。

在指定了A-Z 范围之后,就不能再使用 Deftype 语句来重新定义任何子范围的变量了。在指定一个范围后,如果另一个 Deftype 语句定义的

范围中含有前面已定义的字符,就会产生错误。不过,不管变量是否已定义,都可以使用带 As type 子句的 Dim 语句来显式指定其数据类型

。例如,可以在模块级使用如下代码将一个缺省数据类型为 Integer 的变量定义为Double:

DefInt A-Z

Dim TaxRate As Double

Deftype 语句对用户定义类型中的元素无影响,因为这些元素必须显式声明。

11.deletsetting

在 Windows 注册表中,从应用程序项目里删除区域或注册表项设置。

语法

DeleteSetting appname, section[, key]

DeleteSetting 语句的语法具有下列命名参数:

部分描述

appname 必需的。字符串表达式,包含应用程序或工程的名称,区域或注册表项用于这些应用程序或工程。

section 必要。字符串表达式,包含要删除注册表项设置的区域名称。如果只有 appname 和 section,则将指定的区域连同所有有关的注册表

项设置都删除。

key 可选。字符串表达式,包含要删除的注册表项设置。

说明

如果提供了所有参数,则删除指定的注册表项设置。如果试图使用不存在的区域或注册表项设置上的 DeleteSetting 语句,则发生一个运行时

错误。

12.dim

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

语法

Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .

Dim 语句的语法包含下面部分:

部分描述

WithEvents 可选的。关键字,说明 varname 是一个用来响应由 ActiveX 对象触发的事件的对象变量。只有在类模块中才是合法的。使用

WithEvents,可以声明任意个所需的单变量,但不能使用 WithEvents 创建数组。New 和WithEvents 不能一起使用。

varname 必需的。变量的名称;遵循标准的变量命名约定。

subscripts 可选的。数组变量的维数;最多可以定义 60 维的多维数组。subscripts 参数使用下面的语法:

[lower To] upper [, [lower To] upper] . . .

如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有使用 Option Base 语句,则下界为 0。

New 可选的。可隐式地创建对象的关键字。如果使用 New 来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用 Set

语句来给该对象引用赋值。New 关键字不能声明任何内部数据类型的变量,以及从属对象的实例,也不能与 WithEvents 一起使用。

type 可选的。变量的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、

String(对变长的字符串)、String * length (对定长的字符串)、Object、Variant、用户定义类型、或对象类型。所声明的每个变量都要

一个单独的 As type 子句。

说明

在模块级别中用 Dim 声明的变量,对该模块中的所有过程都是可用的。在过程级别中声明的变量,只在过程内是可用的。

可以使用 Dim 语句在模块级或过程级中声明变量的数据类型。例如,下面的语句声明了Integer 类型的变量。

Dim NumberOfEmployees As Integer

也可以使用 Dim 语句来声明变量的对象类型。下面的语句为工作表的新建实例声明了一个变量。

Dim X As New Worksheet

如果定义对象变量时没有使用 New 关键字,则在使用该变量之前,必须使用 Set 语句将该引用对象的变量赋值为一个已有对象。在该变量被

赋值之前,所声明的对象变量有一个特定值 Nothing,这个值表示该变量没有指向任一个对象实例。

也可以使用带空圆括号的 Dim 语句来定义动态数组。在定义动态数组后,可以在过程内使用 ReDim 语句来定义该数组的维数和元素。如果试

图在 Private,Public 或 Dim 语句中重新定义一个已显式定义了大小的数组的维数时,就会发生错误。

如果不指定数据类型或对象类型,且在模块中没有 Deftype 语句,则该变量按缺省设置是 Variant 类型。

当初始化变量时,数值变量被初始化为 0,变长的字符串被初始化为一个零长度的字符串 (""),而定长的字符串则用 0 填充。Variant 变量

被初始化为 Empty。用户自定义类型的变量的每个元素作为各自独立的变量进行初始化。

注意当在过程中使用 Dim 语句时,通常将 Dim 语句放在过程的开始处。

13.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。

说明

在Do…Loop 中可以在任何位置放置任意个数的 Exit Do 语句,随时跳出Do...Loop 循环。Exit Do 通常用于条件判断之后,例如If Then,在

这种情况下,Exit Do 语句将控制权转移到紧接在 Loop 命令之后的语句。

如果 Exit Do 使用在嵌套的Do…Loop 语句中,则 Exit Do 会将控制权转移到 Exit Do 所在位置的外层循环。

14.end

结束一个过程或块。

语法

End

End Function

End If

End Property

End Select

End Sub

End Type

End With

End 语句的语法有以下几种形式:

语句描述

End 停止执行。不是必要的,可以放在过程中的任何位置关闭代码执行、关闭以 Open 语句打开的文件并清除变量。

End Function 必要的,用于结束一个 Function 语句。

End If 必要的,用于结束一个If…Then…Else 语句块。

End Property 必要的,用于结束一个Property Let、Property Get、或 Property Set 过程。

End Select 必要的,用于结束一个 Select Case 语句。

End Sub 必要的,用于结束一个 Sub 语句。

End Type 必要的,用于结束一个用户定义类型的定义(Type 语句)。

End With 必要的,用于结束一个 With 语句。

说明

在执行时,End 语句会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用 Stop 语句,则可以在保留这些

变量值的基础上恢复执行。

注意 End 语句不调用 Unload、QueryUnload、或 Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。窗体和类模

块中的 Unload、QueryUnload、和 Terminate 事件代码未被执行。类模块创建的对象被破坏,由 Open 语句打开的文件被关闭,并且释放程序

所占用的内存。其它程序的对象引用无效。

End 语句提供了一种强迫中止程序的方法。Visual Basic 程序正常结束应该卸载所有的窗体。只要没有其它程序引用该程序公共类模块创建的

对象并无代码执行,程序将立即关闭。

15.enum

定义枚举类型。

语法

[Public | Private] Enum name

membername [= constantexpression]

membername [= constantexpression]

. . .

End Enum

Enum 语句包含下面部分:

部分描述

Public 可选的。表示该 Enum 类型在整个工程中都是可见的。Enum 类型的缺省情况是Public。

Private 可选的。表示该 Enum 类型只在所声明的模块中是可见的。

name 必需的。该 Enum 类型的名称。name 必须是一个合法的 Visual Basic 标识符,在定义该 Enum 类型的变量或参数时用该名称来指定类

型。

membername 必需的。用于指定该 Enum 类型的组成元素名称的合法 Visual Basic 标识符。

constantexpression 可选的。元素的值(为 Long 类型)。可以是别的 Enum 类型。如果没有指定 constantexpression,则所赋给的值或者

是 0(如果该元素是第一个 membername),或者比其直接前驱的值大 1。

说明

所谓枚举变量,就是指用 Enum 类型定义的变量。变量和参数都可以定义为 Enum 类型。Enum 类型中的元素被初始化为 Enum 语句中指定的常

数值。所赋给的值可以包括正数和负数,且在运行时不能改变。例如:

Enum SecurityLevel

IllegalEntry = -1

SecurityLevel1 = 0

SecurityLevel2 = 1

End Enum

Enum 语句只能在模块级别中出现。定义 Enum 类型后,就可以用它来定义变量,参数或返回该类型的过程。不能用模块名来限定 Enum 类型。

类模块中的 Public Enum 类型并不是该类的成员;只不过它们也被写入到类型库中。在标准模块中定义的 Enum 类型则不写到类型库中。具有

相同名字的 Public Enum 类型不能既在标准模块中定义,又在类模块中定义,因为它们共享相同的命名空间。若不同的类型库中有两个 Enum

类型的名字相同,但成员不同,则对这种类型的变量的引用,将取决于哪一个类型库具有更高的引用优先级。

不能在 With 块中使用 Enum 类型作为目标。

16.erase arraylist

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

语法

Erase arraylist

所需的 arraylist 参数是一个或多个用逗号隔开的需要清除的数组变量。

说明

Erase 根据是固定大小(常规的)数组还是动态数组,来采取完全不同的行为。Erase 无需为固定大小的数组恢复内存。Erase 按下表来设置

固定数组的元素:

数组类型 Erase 对固定数组元素的影响

固定数值数组将每个元素设为 0。

固定字符串数组(长度可变)将每个元素设为零长度字符串 ("")。

固定字符串数组(长度固定)将每个元素设为 0。

固定 Variant 数组将每个元素设为 Empty。

用户定义类型的数组将每个元素作为单独的变量来设置。

对象数组将每个元素设为特定值 Nothing。

Erase 释放动态数组所使用的内存。在下次引用该动态数组之前,程序必须使用 ReDim 语句来重新定义该数组变量的维数。

17.error

模拟错误的发生。

语法

Error errornumber

必要的 errornumber 可以是任何有效的错误号。

说明

Error 语句获得的支持是向后兼容的。在新的代码中,特别是在建立对象时,要使用 Err 对象的 Raise 方法产生运行时错误。

如果已经定义 errornumber,那么,在 Err 对象的属性被赋予下列值之后,Error 语句

会调用错误处理程序:

属性值

Number 作为参数指定给 Error 语句的值。可以是任何有效的错误号。

Source 当前 Visual Basic 工程的名称。

Description 字符串表达式,如果这个字符串存在,则表达式将与 Error 函数的返回值一致,该返回值是 Error 函数对指定的 Number 的返

回值。如果这个字符串不存在,则 Description 包含一个长度为零的字符串 ("")。

HelpFile Visual Basic 帮助文件的完整限定的驱动器、路径和文件名。

HelpContext 对于与 Number 属性一致的错误所指定的 Visual Basic 帮助文件上下文ID。

LastDLLError 零。

如果不存在错误处理程序,或未做任何启动动作,那么就会由 Err 对象属性发布一个错误信息并将错误信息显示出来。

注意并非全部 Visual Basic 主应用程序都可以建立对象。请参考主机应用程序的文档来判断它能否建立类和对象。

18.event

定义用户自定义的事件。

语法

[Public] Event procedurename [(arglist)]

Event 语句包含下面部分:

部分描述

Public 可选的。指定该 Event 在整个工程中都是可见的。缺省情况下 Events 类型是Public。应注意,事件只能在所声明的模块中产生。

procedurename 必需的。事件的名称;遵循标准的变量命名约定。

arglist 参数的语法及语法的各个部分如下:

[ByVal | ByRef] varname[( )] [As type]

部分描述

ByVal 可选的。表示该参数是按值传递的。

ByRef 可选的。表示该参数是按地址传递的。ByRef 是 Visual Basic 的缺省设置。

varname 必需的。代表要传递给过程的参数变量的名称;遵循标准的变量命名约定。

type 可选的。指传递给过程的参数的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持

)、Date、String(只支持变长)、Object、Variant、用户定义类型或对象类型。

说明

事件被声明之后,就可以使用 RaiseEvent 语句来产生该事件。如果在标准模块中出现Event 声明,就会产生语法错误。不能声明带返回值的

事件。在下面的代码段中,给出了声明事件和产生事件的典型事件:

'在类模块的模块级中声明一个事件

Event LogonCompleted (UserName as String)

Sub

RaiseEvent LogonCompleted("AntoineJan")

End Sub

注意可以象声明过程的参数一样来声明事件的参数,但有以下不同:事件不能有带命名参数、Optional 参数、或者 ParamArray 参数。事件

没有返回值。

19.Exit语句返回

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

语法

Exit Do

Exit For

Exit Function

Exit Property

Exit Sub

Exit 语句的语法有以下几种形式:

语句描述

Exit Do 提供一种退出 Do...Loop 循环的方法,并且只能在 Do...Loop 循环中使用。Exit Do 会将控制权转移到 Loop 语句之后的语句。当

Exit Do 用在嵌套的 Do...Loop 循环中时,Exit Do 会将控制权转移到 Exit Do 所在位置的外层循环。

Exit For 提供一种退出 For 循环的方法,并且只能在 For...Next 或 For Each...Next 循环中使用。Exit For 会将控制权转移到 Next 之

后的语句。当 Exit For 用在嵌套的 For 循环中时,Exit For 将控制权转移到 Exit For 所在位置的外层循环。

Exit Function 立即从包含该语句的 Function 过程中退出。程序会从调用 Function 的语句之后的语句继续执行。

Exit Property 立即从包含该语句的 Property 过程中退出。程序会从调用 Property 过程的语句之后的语句继续执行。

Exit Sub 立即从包含该语句的 Sub 过程中退出。程序会从调用 Sub 过程的语句之后的语句继续执行。

说明

不要将 Exit 语句与 End 语句搞混了。Exit 并不说明一个结构的终止。

20.FileCopy语句返回

复制一个文件。

语法

FileCopy source, destination

FileCopy 语句的语法含有以下这些命名参数:

部分描述

source 必要参数。字符串表达式,用来表示要被复制的文件名。source 可以包含目录或文件夹、以及驱动器。

destination 必要参数。字符串表达式,用来指定要复制的目地文件名。destination 可以包含目录或文件夹、以及驱动器。

说明

如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。

21.For Each...Next语句返回

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

语法

For Each element In group

[statements]

[Exit For]

[statements]

Next [element]

For...Each...Next 语句的语法具有以下几个部分:

部分描述

element 必要参数。用来遍历集合或数组中所有元素的变量。对于集合来说,element 可能是一个 Variant 变量、一个通用对象变量或任何特

殊对象变量。对于数组而言,element只能是一个 Variant 变量。

group 必要参数。对象集合或数组的名称(用户定义类型的数组除外)。

statements 可选参数,针对 group 中的每一项执行的一条或多条语句。

说明

如果集合中至少有一个元素,就会进入 For...Each 块执行。一旦进入循环,便先针对group 中第一个元素执行循环中的所有语句。如果

group 中还有其它的元素,则会针对它们执行循环中的语句,当 group 中的所有元素都执行完了,便会退出循环,然后从 Next 语句之后的语

句继续执行。

在循环中可以在任何位置放置任意个 Exit For 语句,随时退出循环。Exit For经常在条件判断之后使用,例如If Then,并将控制权转移到紧

接在 Next 之后的语句。

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

注意如果省略 Next 语句中的 element,就像 element 存在时一样执行。如果 Next 语句在它相对应的 For 语句之前出现,则会产生错误。

不能在 For...Each...Next 语句中使用用户自定义类型数组,因为 Variant 不能包含用户自定义类型。

22.For...Next语句返回

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

语法

For counter = start To end [Step step]

[statements]

[Exit For]

[statements]

Next [counter]

For…Next 语句的语法具有以下几个部分:

部分描述

counter 必要参数。用做循环计数器的数值变量。这个变量不能是布尔或数组元素。

start 必要参数。counter 的初值。

End 必要参数,counter 的终值。

Step 可选参数。counter 的步长。如果没有指定,则 step 的缺省值为 1。

Statements 可选参数。放在 For 和 Next 之间的一条或多条语句,它们将被执行指定的次数。

说明

step 参数可以是正数或负数。step 参数值决定循环的执行情况,如下所示:

值循环执行,如果

正数或 0 counter <= end

负数 counter >= end

当所有循环中的语句都执行后,step 的值会加到 counter 中。此时,循环中的语句可能会再次执行(基于循环开始执行时同样的测试),也

可能是退出循环并从 Next 语句之后的语句继续执行。

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

循环中可以在任何位置放置任意个 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 K

Next J

Next I

注意如果省略 Next 语句中的 counter,就像 counter 存在时一样执行。但如果 Next 语句在它相对应的 For 语句之前出现,则会产生错误

23.Function语句返回

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

语法

[Public | Private | Friend] [Static] Function name [(arglist)] [As type] [statements]

[name = expression]

[Exit Function]

[statements]

[name = expression]

End Function

Function 语句的语法包含下面部分:

部分描述

Public 可选的。表示所有模块的所有其它过程都可访问这个 Function 过程。如果是在包含 Option Private 的模块中使用,则这个过程在该

工程外是不可使用的。

Private 可选的。表示只有包含其声明的模块的其它过程可以访问该 Function 过程。

Friend 可选的。只能在类模块中使用。表示该 Function 过程在整个工程中都是可见的,但对于对象实例的控制者是不可见的。

Static 可选的。表示在调用之间将保留 Function 过程的局部变量值。Static 属性对在该 Function 外声明的变量不会产生影响,即使过程

中也使用了这些变量。

name 必需的。Function 的名称;遵循标准的变量命名约定。

arglist 可选的。代表在调用时要传递给 Function 过程的参数变量列表。多个变量应用逗号隔开。

type 可选的。Function 过程的返回值的数据类型,可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支

持)、Date、String(除定长)、Object、Variant或任何用户定义类型。

statements 可选的。在 Function 过程中执行的任何语句组。

expression 可选的。Function 的返回值。

其中的 arglist 参数的语法以及语法各个部分如下:

[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue] 部分描述

Optional 可选的。表示参数不是必需的。如果使用了该选项,则 arglist 中的后续参数都必须是可选的,而且必须都使用 Optional 关键字

声明。如果使用了 ParamArray,则任何参数都不能使用 Optional 声明。

ByVal 可选的。表示该参数按值传递。

ByRef 可选的。表示该参数按地址传递。ByRef 是 Visual Basic 的缺省选项。

ParamArray 可选的。只用于 arglist 的最后一个参数,指明最后这个参数是一个Variant 元素的 Optional 数组。使用 ParamArray 关键字

可以提供任意数目的参数。ParamArray 关键字不能与 ByVal,ByRef,或 Optional 一起使用。

varname 必需的。代表参数的变量的名称;遵循标准的变量命名约定。

type 可选的。传递给该过程的参数的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支

持)、Date、String(只支持变长)、Object 或 Variant。如果参数不是 Optional,则也可以是用户定义类型,或对象类型。

defaultvalue 可选的。任何常数或常数表达式。只对于 Optional 参数时是合法的。如果类型为 Object,则显式缺省值只能是 Nothing。

说明

如果没有使用 Public、Private 或 Friend 显式指定,则 Function 过程缺省为公用。如果没有使用 Static,则局部变量的值在调用之后不

会保留。Friend 关键字只能在类模块中使用。但 Friend 过程可以被工程的任何模块中的过程访问。Friend 过程不会在其父类的类型库中出

现,且 Friend 过程不能被后期绑定。

注意 Function 过程可以是递归的;也就是说,该过程可以调用自己来完成某个特定的任务。不过,递归可能会导致堆栈上溢。通常 Static

关键字和递归的 Function 过程不在一起使用。

所有的可执行代码都必须属于某个过程。不能在另外的 Function、Sub 或 Property 过程中定义 Function 过程。

Exit Function 语句使执行立即从一个 Function 过程中退出。程序接着从调用该Function 过程的语句之后的语句执行。在 Function 过程

的任何位置都可以有 Exit Function 语句。

Function 过程与 Sub 过程的相似之处是: Function 过程是一个可以获取参数,执行一系列语句,以及改变其参数值的独立过程,而与子过

程不同的是:当要使用该函数的返回值时,可以在表达式的右边使用 Function 过程,这与内部函数,诸如 Sqr、Cos 或 Chr 的使用方式一样

在表达式中,可以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用一个Function 过程。请参阅 Call 语句关于如何调用

Function 过程的详细说明。

要从函数返回一个值,只需将该值赋给函数名。在过程的任意位置都可以出现这种赋值。如果没有对 name 赋值,则过程将返回一个缺省值:

数值函数返回 0,字符串函数返回一个零长度字符串 (""),Variant 函数则返回 Empty。如果在返回对象引用的 Function 过程中没有将对象

引用赋给 name (通过 Set),则函数返回 Nothing。

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

Function BinarySearch(. . .) As Boolean

. . .

'值未找到,返回一个 False 值。

If lower > upper Then

BinarySearch = False

Exit Function

End If

. . .

End Function

在 Function 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)都

是局部变量。对于那些没有在过程中显式声明的变量,除非它们在该过程外更高级别的位置有显示地声明,否则也是局部的。

注意过程可以使用没有在过程内显式声明的变量,但只要有任何在模块级别中定义的名称与之相同,就会产生名称冲突。如果过程中使用的未

声明的变量与另一个过程,常数,或变量的名称相同,则会认为过程使用的是模块级的名称。显式声明变量就可以避免这类冲突。可以使用

Option Explicit 语句来强制显式声明变量。

注意 Visual Basic 可能会重新安排数学表达式以提高内部效率。若 Function 过程会改变某个数学表达式中变量的值,则应避免在此表达式

中使用该函数。

24.Get 语句返回

将一个已打开的磁盘文件读入一个变量之中。

语法

Get [#]filenumber, [recnumber], varname

Get 语句的语法具有以下几个部分:

部分描述

filenumber 必要。任何有效的文件号。

recnumber 可选。Variant (Long)。记录号(Random 方式的文件)或字节数(Binary 方式的文件),以表示在此处开始读出数据。

varname 必要。一个有效的变量名,将读出的数据放入其中。

说明

通常用 Put 将 Get 读出的数据写入一个文件。

文件中第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。若省略 recnumber,则会读出紧随上一个 Get 或 Put 语句

之后的下一个记录或字节(或读出最后一个 Seek 函数指出的记录或字节)。所有用于分界的逗号都必须罗列出来,例如:

Get #4,,FileBuffer

下列规则适用于以 Random 方式打开的文件:

如果要读出的数据的长度小于 Open 语句的 Len 子句中所指定的长度,Get 会在某个边界之内读出随后的记录,在这里,边界的长度等于记录

的长度。将此文件缓冲区内的现有内容填入到一个空间之内,该空间介于一个记录的结尾与下一个记录的开头之间。因为无法确定填入的数据

量,所以,应设法使记录的长度与读出的数据长度一致,这通常是个好办法。

如果读出的变量是一个可变长度字符串,则 Get 语句先读出一个含有字符串长度的双字节描述符,然后读出放入变量中的数据。所以,Open

语句中的 Len 子句所指定的记录长度必须至少比字符串的实际长度多两个字节。

如果读出的变量是一个数值类型的 Variant,则 Get 先读出两个字节,识别 Variant 的VarType,然后读出放入此变量中的数据。例如,在

读出 VarType 3 的 Variant 时,Get 读出六个字节:前两个字节说明 Variant 为VarType 3 (Long),后四个字节则包含 Long 类型数据。

Open 语句中的 Len 子句所指定的记录长度必须至少比储存变量所需的实际长度多两个字节。

注意可以使用 Get 语句从磁盘中读出一个 Variant 数组,但不能使用它读出包含数组的标量 Variant。也不能使用 Get 从磁盘中读出对象

如果读出的变量是 VarType 8 (String) 的 Variant,则 Get 先读出两个字节,识别VarType,接下来的两个字节指出字符串的长度,然后读

出字符串数据。Open 语句中的 Len 子句所指定的记录长度必须比实际字符串的长度至少多四个字节。

如果读出的变量是一个动态数组,则 Get 会读出一个描述符,其长度等于 2 加上 8 乘以维数,即 2 + 8 * NumberOfDimensions。读出数组

数据和数组描述符就需要占据字节,而 Open 语句中的 Len 子句所指定的记录长度必须大于或等於这些字节数的总和。例如,在将数组写入

磁盘时,下列数组声明需要 118 个字节:

Dim MyArray(1 To 5,1 To 10) As Integer

这 118 个字节的分配情况如下:18 个字节用于描述符 (2 + 8 * 2),100 个字节用于数据 (5 * 10 * 2)。

如果读出的变量是一个大小固定的数组,则 Get 只读出数据。它不读出描述符。

如果读出的变量是任何其他类型的变量(不是可变长度的字符串或 Variant£?,则 Get 只读出变量数据。Open 语句中的 Len 子句所指定的

记录长度必须大于或等於要读出的数据的长度。

Get 在读出用户定义类型的元素时,好象是单独地读出每一个元素,只是不在元素之间进行填充。在磁盘上,(用 Put 写入的)用户定义的类

型的动态数组之前有一个描述符,其长度等于 2 加上 8 乘以维数,即 2 + 8 * NumberOfDimensions。Open 语句中的 Len 子句所指定的记录

长度必须大于或等於读出个别元素(包括任何数组及其描述符在内)所需的全部字节数

总和。

对于以 Binary 方式打开的文件,Random 的所有规则都适用,但以下情况除外:

当 Open 语句中的 Len 子句不起作用时,Get 连续从磁盘中读出所有变量;也就是说,两个记录之间没有任何填充。

对于任何不属于用户定义的类型的数组,Get 只读出数据。它不会读出描述符。

Get 读出可变长度字符串,不管这些字符串是否具有长度为 2 字节的描述符,它们都不是用户定义的类型的元素。所读出的字节数等於字符串

已包含的字符数。例如,下列语句从文件号为 1 的文件中读出十个字节:

VarString = String(10, )

Get #1,,VarString

25.GoSub...Return语句返回

在一个过程中跳到另一个子程序中执行,执行后再返回。

语法

GoSub line

...

line

...

Return

必要的 line 参数可以是任何行标签或行号。

说明

可以在过程中的任何地方使用 GoSub 和 Return,但是 GoSub 和与之相应的 Return 语句必须放在同一个过程中。一个子程序中可以包含一个

以上的 Return 语句,但是当碰到第一个 Return 语句时,程序就会返回到紧接在刚刚执行的 GoSub 语句之后的语句继续执行。

注意不能使用 GoSub...Return 来进入或退出 Sub 过程。

提示创建分开的过程,并使用 GoSub...Return 来调用,可以使程序更具结构化。

26.GoTo语句返回

无条件地转移到过程中指定的行。

语法

GoTo line

必要的 line 参数可以是任意的行标签或行号。

说明

GoTo 只能跳到它所在过程中的行。

注意太多的 GoTo 语句,会使程序代码不容易阅读及调试。尽可能使用结构化控制语句(Do...Loop、For...Next、If...Then...Else、Select

Case)。

27.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 在块形式中是可选参数;但是在单行形式中,且没有 Else 子句时,则为必要参数。一条或多条以冒号分开的语句,它们在

condition 为 True 时执行。

condition-n 可选参数。与 condition 同。

elseifstatements 可选参数。一条或多条语句,它们在相关的 condition-n 为 True 时执行。

elsestatements 可选参数。一条或多条语句,它们在前面的 condition 或 condition-n 都不为 True 时执行。

说明

可以使用单行形式(第一种语法)来做短小简单的测试。但是,块形式(第二种语法)则提供了更强的结构化与适应性,并且通常也是比较容

易阅读、维护及调试的。

注意在单行形式中,按照 If...Then 判断的结果也可以执行多条语句。所有语句必须在同一行上并且以冒号分开,如下面语句所示:

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

在块形式中,If 语句必须是第一行语句。其中的 Else、 ElseIf,和 End If 部分可以只在之前加上行号或行标签。If 块必须以一个 End If

语句结束。

要决定某个语句是否为一个 If 块,可检查 Then 关键字之后是什么。如果在 Then 同一行之后,还有其它非注释的内容,则此语句就是单行

形式的 If 语句。

Else 和 ElseIf 子句都是可选的。在 If 块中,可以放置任意多个 ElseIf 子句,但是都必须在 Else 子句之前。If 块也可以是嵌套的。

当程序运行到一个 If 块(第二种语法)时,condition 将被测试。如果 condition为True,则在 Then 之后的语句会被执行。如果

condition 为 False,则每个 ElseIf 部分的条件式(如果有的话)会依次计算并加以测试。如果找到某个为 True 的条件时,则其紧接在相

关的 Then 之后的语句会被执行。如果没有一个 ElseIf 条件式为 True(或是根本就没有 ElseIf 子句),则程序会执行 Else 部分的语句。

而在执行完 Then 或 Else 之后的语句后,会从 End If 之后的语句继续执行。

提示根据单一表达式来执行多种可能的动作时,Select Case 更为有用。不过,TypeOf

objectname Is objecttype 子句不能在 Select Case

语句中使用。

注意 TypeOf 不能与诸如 Long、Integer 以及其他不是 Object 的固定数据类型一起使用。

28.Implements语句返回

指定要在包含该语句的类模块中实现的接口或类。

语法

Implements [InterfaceName | Class]

所需的 InterfaceName 或 Class 是类型库中的接口或类的名称,该类型库中的方法将用与 Visual Basic 类中相一致的方法来实现。

说明

所谓接口就是代表接口封装的成员(方法以及属性)的原型集合;也就是说,它只包含成员过程的声明部分。一个类提供一个或多个接口的所

有方法以及属性的一种实现方案。类的控制者每次调用函数时,该函数所执行的代码由类来提供。每个类至少应实现一个缺省接口。在 Visual

Basic 中,一个已实现的接口中任何没有显式声明的成员都是缺省接口的隐式成员。

当 Visual Basic 类实现接口时,都会提供该接口的类型库中说明的所有 Public 过程的版本。除了提供接口原型与自编过程之间的映射关系

之外,Implements 语句还使这个类接收对指定接口 ID 的 COM QueryInterface 调用。

注意 Visual Basic 不能实现派生出来的类或接口。

在实现接口或类时,必须包括所用到的 Public 过程。如果在实现接口或类时遗漏了成员,就会产生错误。如果正在实现的类中某个过程还没

有代码,则可以产生一个适当的错误信息 (Const E_NOTIMPL = &H80004001),以便用户意识到该成员还没有实现。

Implements 语句不能在标准模块中使用。

29.Input #语句返回

从已打开的顺序文件中读出数据并将数据指定给变量。

语法

Input #filenumber, varlist

Input # 语句的语法具有以下几个部分:

部分描述

filenumber 必要。任何有效的文件号。

varlist 必要。用逗号分界的变量列表,将文件中读出的值分配给这些变量;这些变量不可能是一个数组或对象变量。但是,可以使用变量描

述数组元素或用户定义类型的元素。

说明

通常用 Write # 将 Input # 语句读出的数据写入文件。该语句只能用于以 Input 或Binary 方式打开的文件。

在读出数据时不经修改就可直接将标准的字符串或数值数据指定给变量。下表说明如何处理其它输入数据:

数据指定给变量的值

分隔逗号或空白行 Empty

#NULL# Null

#TRUE# or #FALSE# True 或 False

VBNET各种常用函数

(1) https://www.360docs.net/doc/8316440315.html,函数库的名称空间和模块 Conversion 转换函数 DateAndTime 日期和时间函数 Strings 字符串函数 VbMath 随机函数 (2) 基础类库中的名称空间和类 引用名称空间的方法: 项目引用新建一个项目时,https://www.360docs.net/doc/8316440315.html,根据所建项目类型,自动导 入部分名称空间的引用 直接引用给出名称空间的全名,就可访问其中的任一个类及其 各项内容 例使用Math类开方函数sqrt: Label1.Text = system.Math.sqrt(100) Imports语句导入在代码中就可直接使用名称空间的类或成员。 导入语句的格式:Imports 名称空间

数学函数 .NET中的数学函数包含在Math类。使用前在模块的开头用语句Imports System.Math导入 Rnd函数返回0和1(包括0但不包括1)之间的双精度随机数. 每次运行时,要产生不同序列的随机数,先执行Randomize 语句。产生a~b的之间的随机整数:Int(Rnd *(b-a)+a)

(1) Chr和Asc函数互为反函数。 (2) Str函数将非负数值转换成字符类型后,会在转换后的字符串左边增加一空格。 (3) Val将数字字符串转换为数值类型,当字符串中出现数值类型规定的字符外的字符,则停止转换,函数返回的是停止转换前的结果。例如表达式: Val("-123.45ty3")结果为-123.45。 (4) CDdate函数将以日期型表达式转换成日期类型。例如表达式:CDate("2005/5/12")结果为日期类型 https://www.360docs.net/doc/8316440315.html,中还有其他类型转换函数,例如,CInt、CBool、CSng、CStr等,详细例子查阅帮助功能。 日期函数 计算从当前日期到2007年6月30日有多少天?表达式为: DateDiff("d", Now, #6/30/2007#)

VBProject代码操作代码之常用语句

一、增加模块 1.增加一个模块,命名为“我的模块” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块" 系统常量vbext_ct_StdModule=1 2.增加一个类模块,命名为“我的类” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类" vbext_ct_ClassModule=2 3.增加一个窗体,命名为“我的窗体” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体" vbext_ct_MSForm=3 二、删除模块 1.删除“模块1” ThisWorkbook.VBProject.VBComponents.Remove hisWorkbook.VBProject.VBComponents("模块1") 2.删除窗体“UserForm1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("UserForm1") 3.删除类模块“类1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1") 4.删除所有的窗体 Sub RmvForms() Dim vbCmp As VBComponent For Each vbCmp In ThisWorkbook.VBProject.VBComponents If vbCmp.Type = vbext_ct_MSForm Then ThisWorkbook.VBProject.VBComponents.Remove vbCmp Next vbCmp End Sub 相关: 工作表和ThisWorkbook的模块类型为vbext_ct_Document=100 三、增加代码 1.在“模块1”中插入代码 如果需要在“Sheet1”、“Thisworkbook”、或“Userform1”中操作,用只需将下面的“模块1”换成相应的名称即可。 方法1: 在模块的开始增加代码,增加的代码放在公共声明option,全局变量等后面。 Sub AddCode1() ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.AddFromString _ "sub aTest()" & Chr(10) & _ "msgbox ""Hello""" & Chr(10) & _ "end sub" End Sub

vb代码大全

用VB5实现窗口图象缩放、滚动技巧 成都理工学院计算机工程系 洪志全 ---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。 ---- 一、获取图像 ---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。 ---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。 ---- 二、图像缩放 ---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为: PaintPicture Pic,DestX,DestY,DestWidth, DestHeight,ScrX,ScrY,ScrWidth,ScrHeight ---- 其中,Pic 为图片对象, 如图形控件对象等; DestX,DestY为目标图像起始坐标; DestWidth,DestHeight为目标图像幅面尺寸; ScrX,ScrY为源图像起始坐标; ScrWidth,ScrHeight为源图像剪裁尺寸。 ---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。若ScrWidth,ScrHeight 或

VB程序if语句选择

一、有如下程序段: x=7 If x>5 Then y=11-2*x Else y=10+x^2 End If 该程序段运行后,变量y 的值是() ZR_A=-3 ZR_B=5 ZR_C=10 ZR_D=59 —————————————————————————————————————————二、如图所示算法的功能是() ZR_A=按从小到大的顺序输出两个变量的值 ZR_B=按从大到小的顺序输出两个变量的值 ZR_C=交换两个变量的值 ZR_D=找出两个变量中的较小者————————————————————————————————————————— 三、有如下程序段: t=5 If t<>5 Then f=10 Else f=10+(t-3)*2 End IF 该程序段运行后,变量f的值是() ZR_A=5 ZR_B=10 ZR_C=14 ZR_D=20 —————————————————————————————————————————

四、流程图如图所示,若输入x的值为0,则输出结果是() ZR_A=10 ZR_B=16 ZR_C=4 ZR_D=-4 —————————————————————————————————————————五、淄博市规定60岁及以上老年人可以办理老年证,办证的流程如下图,这属于()。 ZR_A=双路径决策ZR_B=多路径决策ZR_C=计数循环ZR_D=变量—————————————————————————————————————————六、某商场香蕉每斤1.5元,为了促销,规定购买4斤或4斤以上打八折,不足4斤的按原价格销售。下面是用VB编写的程序,红线上应填入的语句是()。 ZR_A=y = 1.5 * x * 0.8 ZR_B=y = 1.5 * x /4 ZR_C=y = 4 * x * 0.8 ZR_D=y = 1.5 * x * 0.2 —————————————————————————————————————————

Excel之VBA编程常用语句300句汇总

Excel之VBA编程常用语句300句 时间:2009-11-27 21:12:21 来源:本站作者:未知我要投稿我要收藏投稿指南 定制模块行为 (1) Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text '字符串不区分大小写 Option Base 1 '指定数组的第一个下标为1 (2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 '恢复正常的错误提示 (5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False '关闭屏幕刷新 Application.ScreenUpdating=True '打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能 工作簿 (8) Workbooks.Add() '创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿 (10) ThisWorkbook.Save '保存工作簿 (11) ThisWorkbook.close '关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数 (13) https://www.360docs.net/doc/8316440315.html, '返回活动工作薄的名称 (14) https://www.360docs.net/doc/8316440315.html, ‘返回当前工作簿名称 ThisWorkbook.FullName ‘返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleT iled ‘将工作簿以平铺方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化 工作表 (18) https://www.360docs.net/doc/8316440315.html,edRange.Rows.Count ‘当前工作表中已使用的行数 (19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性) (20) Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _

(完整word版)VB语言基础

V B语言基础 一、数据类型 1、数值型:取值范围:Byte(字节型)━占1字节; 0~255无符号 Integer(整型)━占2字节; -32768~32767 long(长整型)━占4字节; -2147483648~2147483647 single(单精度浮点)━占4字节;略 Double(双精度浮点)━占4字节;略 Currency(货币型)━占8字节小数点左15位,右4位 (精确定点数据类型) 2、逻辑型: Boolean(布尔型)━占2字节; true或false 3、字符串型: String?a?a定长型占字符串长度,变长型再加10 4、日期型: Date(日期型)━占8字节 100-1-1~9999-12-31 5、对象型: Object━占4字节;任何Object引用 6、变体型: Variant━变体型数字占16字节,变体型字符占22字节+字符串长 注:此类型还包含三种特定值:

Empty;Null;Error; ?7、用户定义的数据类型: ?用户可以利用Type语句定义自己的数据类型。格式如下?Type 数据类型名 ?数据类型元素名As 类型名 ?…… ?End Type ?用Type可定义类似于C语言中的结构体类型。例如:?Type Date_Rec ?RYear As Integer ?RMonth As String*3 ?RDay As Integer ?End Type ?注:记录类型中的元素可以是字符串,但必须是定长字符串,其长度由类型名加上一个星号和常数指明。 ?数据类型转换函数: ?函数名及书写格式转换结果 ?CBool(表达式)布尔型 ?CCur(表达式)货币型 ?CByte(表达式)字节型 ?CDate(表达式)日期型 ?CDbl(表达式)双精度

VB常用函数表

ASP纯ASP VBscript常用函数: 1.数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根num>0 int(num): 取整int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num): 取以e为底的对数num>0 exp(n): 取e的n次幂通常用num^n sin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0)

OFFICE VB 语句

定制模块行为 (1) Option Explicit ''强制对模块内所有变量进行声明 Option Private Module ''标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text ''字符串不区分大小写 Option Base 1 ''指定数组的第一个下标为1 (2) On Error Resume Next ''忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler ''当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 ''恢复正常的错误提示 (5) Application.DisplayAlerts=False ''在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False ''关闭屏幕刷新 Application.ScreenUpdating=True ''打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled ''禁用Ctrl+Break中止宏运行的功能 工作簿 (8) Workbooks.Add() ''创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate ''激活名为book1的工作簿 (10) ThisWorkbook.Save ''保存工作簿 (11) ThisWorkbook.close ''关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ''获取活动工作薄中工作表数 (13) https://www.360docs.net/doc/8316440315.html, ''返回活动工作薄的名称 (14) https://www.360docs.net/doc/8316440315.html, ‘返回当前工作簿名称 ThisWorkbook.FullName ‘返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化 工作表 (18) https://www.360docs.net/doc/8316440315.html,edRange.Rows.Count ‘当前工作表中已使用的行数 (19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性) (20) Sheets(Sheet1).Name= “Sum”''将Sheet1命名为Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ''添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _

VB语句集200句

VB语句集200句.txt人生重要的不是所站的位置,而是所朝的方向。不要用自己的需求去衡量别人的给予,否则永远是抱怨。VB语句集200句 VB所有语句总结(包括简单功能介绍) 下面对VB的几乎所有语句进行简单的分类和介绍。 需要注意的是这里介绍的几乎都是语句,而不是函数,请大家注意VB语句和函数的区别。 一.数据类型、变量、常量类 Dim 模块级或过程级中声明变量 Global 模块级中声明全局变量, private 功能与Dim相同 Static 过程级中声明静态变量 Deftype 设置变量缺省类型 Let或= 赋值 Type …End Type 自定义类型 Enum 定义枚举类型 Lset、Rset 左或右对齐变量中的一字符串 Const 声明用于代替文字量的常数 二.程序控制类 End 结束程序运行 Stop 暂停程序执行进入中断模式 Goto 无条件转移 If then else 根据条件选择执行某一分支语句块 Select case 情况选择控制,选择执行某一语句块 Do…loop 循环控制 While wend 循环控制 For…next 计数循环控制 Exit for\exit do 退出循环控件 三.过程类 Declare 语句用于在模块级中声明外部过程的引用 Function 函数过程,文件名可带返回值 Sub 过程 Call 将控制权转移到一个 Sub 过程, Exit function 退出Funtion过程 Exit sub 退出Sub过程 四.对象操作类 Load 把窗体或控件加载到内存中 Unload 从内存中卸载窗体或控件 Show/Hide 显示或隐藏窗体 With 在一个单一对象或一个用户定义类型上执行一系列的语句 Redim 重新声明数组 五.数组类 Erase 重新初始化数据 Option base 设置数组默认值为0或1 Open 打于或建立文件

vb6常用函数

字符函数 函数名 功能 示例 ASC 返回一个Integer,代表字符串中首字母的字符代码。 Asc(string) CHR 返回String,其中包含有与指定的字符代码相关的字符 Chr(charcode) Format 返回Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。 Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) Hex 返回代表十六进制数值的String。 Hex(number) InStr 返回Variant (Long),指定一字符串在另一字符串中最先出现的位置。 InStr([start, ]string1, string2[, compare]) InstrRev 返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。 InstrRev(string1, string2[, start[, compare]]) Join 返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。 Join(list[, delimiter]) LCase 返回转成小写的String。 LCase(string) Left 返回Variant (String),其中包含字符串中从左边算起指定数量的字符。 Left(string, length) Len 返回Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。

Len(string | varname) Ltrim Rtrim Trim 返回Variant (String),其中包含指定字符串的拷贝,没有前导空白(LTrim)、尾随空白(RTrim) 或前导和尾随空白(Trim)。 LTrim(string)RTrim(string)Trim(string) Mid 返回Variant (String),其中包含字符串中指定数量的字符。 Mid(string, start[, length]) Partition 返回一个Variant (String),指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内。 Partition(number, start, stop, interval) Replace 返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,且替换发生的次数也是指定的。 Replace(expression, find, replacewith[, start[, count[, compare]]]) Right 返回Variant (String),其中包含从字符串右边取出的指定数量的字符。 Right(string, length) Space 返回特定数目空格的V ariant (String)。 Space(number) Split 返回一个下标从零开始的一维数组,它包含指定数目的子字符串。 Split(expression[, delimiter[, count[, compare]]]) StrComp 返回Variant (Integer),为字符串比较的结果。 StrComp(string1, string2[, compare]) String 返回Variant (String),其中包含指定长度重复字符的字符串。 String(number, character) StrReverse 返回一个字符串,其中一个指定子字符串的字符顺序是反向的。 StrReverse(string1)

vb常用语句

1.選取list控件的多個選項 Dim k As Integer Dim msql As String SQL = "select sn from gm1_carton_log where batch_no='" & Trim(Text1.Text) & "' and wo_no in " For k = 0 To List2.ListCount - 1 msql = msql & "'" & Trim(List2.List(k)) & "'," Next k msql = Left(msql, Len(msql) - 1) SQL = SQL & "(" & msql & ")" 2.自動執行程式 Timeleft=autoclose Autoclose=5 Private Sub Timer1_Timer() TimeLeft = TimeLeft - 1 lblTimeRemaining.Caption = TimeLeft If TimeLeft = 0 Then Timer1.Enabled = False Call OKButton_Click End If End Sub https://www.360docs.net/doc/8316440315.html,box控件的用法 With Combo1 SQL = "" SQL = "select distinct(b.invoice_no) from gm1_ship_invoice a,gm1_ship_ms b where a.invoice_no=b.invoice_no and b.ship_fg='OPEN' " Set rs = DB.Execute(SQL) If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Combo1.AddItem Trim(rs!invoice_no) rs.MoveNext Loop End If End With 2.MsflexGrid的用法

VB函数大全

VB函数大全 Calendar 常数 可在代码中的任何地方用下列常数代替实际值: 常数值描述 vbCalGreg 0 指出使用的是阳历。 vbCalHijri 1 指出使用的是伊斯兰历法。 -------------------------------------------------------------------------------- Color 常数 可在代码中的任何地方用下列常数代替实际值: 常数值描述 vbBlack 0x0 黑色 vbRed 0xFF 红色 vbGreen 0xFF00 绿色 vbYellow 0xFFFF 黄色 vbBlue 0xFF0000 蓝色 vbMagenta 0xFF00FF 紫红色 vbCyan 0xFFFF00 青色 vbWhite 0xFFFFFF 白色 -------------------------------------------------------------------------------- Comparison常数 下列常数由 Visual Basic for Applications 中的类型库定义,可用来在代码中的任何地方代替实际值: 常数值描述 VbUseCompareOption -1 使用Option Compare语句的设置进行比较。VbBinaryCompare 0 进行二进制的比较。 VbTextCompare 1 进行文字的比较。 vbDatabaseCompare 2 用于 Microsoft Access(仅限于Windows),进行以数据库所含信息为基础的比较。 -------------------------------------------------------------------------------- Compiler 常数

VB内置函数详细解释大全

VB内置函数大全 Abs(number) 返回参数的绝对值,其类型和参数相同。 必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返回 Null,如果 number 是未初始化的变量,则返回 0。 一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。 Array(arglist) 返回一个包含数组的 Variant。 所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。 用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。Dim A As Variant A = Array(10,20,30) B = A(2) 使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库(例如 VBA.Array )名称限定。如果是由类型库名称限定,则 Array 不受 Option Base 的影响。 注意没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。 Asc(string) 返回一个 Integer,代表字符串中首字母的字符代码。 必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何

vb 常用函数

第五章常用内部函数 教学目的及要求: 使学生掌握函数的概念,函数的调用格式,VB中的常用内部函数。 重点与难点: 1、学会调用内部函数进行各种运算。 2、掌握调用各种函数时需要的参数、函数的参数类型和函数返回值类型,这也是本章的难点。 主要外语词汇: ANSI 、function randomize、 format 授课内容: 1、函数的分类:(1)内部函数 (2)外部函数(用户自定义函数、函数过程) 2、VB常用的内部函数有:数学函数、字符串函数、转换函数、日期与时间函数、其他函数。 3、函数的一般调用格式为:函数名([参数表]) 注:参数的类型和个数。 若参数类型或个数不匹配,则提示出错信息。 4、方法与函数的区别: (1)方法可以单独作为语句使用,函数不可以。 (2)方法没有返回值,函数有返回值。 (3)方法的格式:[对象名.]方法 [参数列表] 函数的格式:①变量名=函数名([参数列表]) ②[对象名.]属性=函数名([参数列表]) 5、一般将函数值进行输出或赋值给某个变量。 第一节常用函数 一、数学函数: 1、利用Log(N)/Log(10)得到Lg(N)的值。 2、注意函数Int(N)、Fix(N)、Cint(N)和Round(N)之间的区别。 例1:05_1.vbp 二、字符串函数: 1、常用的字符串函数: (1)Len(S):测试字符串S的字符个数,中西文字符均算1个字符。 (2)LenB(S):测试字符串S的字节数,中西文字符均占2个字节。

LenB(S)=2*Len(S) (3)Ucase(S):将字符串S中的小写字母改为大写字母。 (4)Lcase(S):将字符串S中的大写字母改为小写字母。 (5)String(N,S):重复输出N个S单个字符 例:Print String(5,“a”) Print String(5,“abcd”) 结果相同 2、在字符串函数名后面可以加“$”符号。 例:Print String(5,“*”) Print String$(5,“*”) 等价 3、字符串的编码方案: (1)ANSI方式: 美国国家标准协会制定,西文字符占用1个字节,汉字占用2个字节。(2)UniCode方式: 国际标准化组织ISO制定,西文字符和汉字统一进行编码,占用2个字节。VB6.0内部采用UniCode编码形式来存储字符串。 4、字符处理函数:针对字符数,中西文字符均算1个字符。 字符处理函数+B:针对字节数,中西文字符均占2个字节。 5、StrConv函数: 格式:StrConv( S,指定格式 ) (1)S:要转换的字符串表达式。 (2)指定格式: ① vbUnicode(64):ANSI格式 -> UniCode格式 ② vbFromUnicode(128):UniCode格式 -> ANSI格式 ③ vbUpperCase(1):将字符串S文字转换成大写 ④ vbLowerCase(2):将字符串S文字转换成小写 ⑤ vbProperCase(3):将字符串S每个字的开头字符转换成大写 总结: 1、小写 -> 大写 2、大写 -> 小写 (1)UCase(S) (1)LCase(S) (2)StrConv(S,vbUpperCase) (2)StrConv(S,vbLowerCase) 例:Private Sub Command1_Click( ) Dim x As String ,y As String x = Text1.Text y = UCase(x) ‘ y = StrConv(x,vbUpperCase) Text2.Text = y End Sub

vb6常用的sql语句

一、引言 SQL Server是微软推出的中小型网络数据库系统,是目前最常用的数据库系统之一。随着SQL Server网络数据库应用程序日益增多,这种Web数据库应用系统的正常运行一般依赖于已存在的用户数据库。创建维护数据库的工作可用SQL Server提供的SQL Enterprise Manager工具来进行,如能提供一种定制的数据库管理工具,通过管理应用程序来管理数据库及其设备,对用户来说无疑是最理想的。 Visual Basic作为一种面向对象的可视化编程工具,具有简单易学,灵活方便和易于扩充的特点。而且Microsoft为其提供了与SQL Server通信的API函数集及工具集,因此它越来越多地用作大型公司数据和客户机—服务器应用程序的前端,与后端的Microsoft SQL Server 相结合,VB能够提供一个高性能的客户机—服务器方案。 二、VB访问SQL Server数据的常用方法 使用Visual Basic作为前端开发语言,与SQL Server接口有几种常用的方法,即: ①数据访问对象/Jet ②为ODBC API编程 ③使用SQL Server的Visual Basic库(VBSQL)为DB库的API编程 ④RDO 远程数据对象(RemoteData Objects) ⑤ADO 数据对象(Active Data Objects) 1、数据访问对象/Jet VB支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能最好的管理客户机—服务器之间的对话方式,但它的确有许多优点。DAO/Jet是为了实现从VB访问Access 数据库而开发的程序接口对象。使用DAOs访问SQL Server的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200.DLL)优化查询,载入驱动程序管理器并与之通讯,驱动程序管理器(ODBC.DLL)通过调用驱动器(SQLSRVR.DLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL语句且返回结果。下面是一个用DAOs访问SQL Server的VB 实例。 注释:Form Declarations Dim mydb As Database Dim mydynaset As Dynaset Private Sub Form_Load() Set mydb = OpenDatabase("", False, False, "ODBC; DSN=Myserver; WSID=LCL; DA TABASE = sales") Set mydynaset = mydb CreateDynaset("Select*from Customers") End Sub 上述例子是以非独占、非只读方式打开sales数据库,并检索Customers表中的所有字段。OpenDatabase函数的最后一个参数是ODBC连接字符串参数,它指明了Microsoft Access 连接到SQL Server所需要知道的一些内容。其中“DSN”为数据源名,“WSID”为工作站名,“DATABASE”为所要访问的数据库名。 2、利用ODBC API编程

vb选择与判断

VB 编程基础判断题(0错误 1正确) 1. Excel 可以处理电子表格数据,所以它是程序设计语言。答案: 0 2. 每种程序设计语言都有自己的语法和规则。答案:1 3. 使用VB 设计程序时,可以不用创建工程。答案:0 4. 通常状况下,我们会通过两种方法修改对象属性,一种是利用属性窗口,另一种是利用代码。答案:1 5. 在 VB 开发环境中,如果对象窗口工具箱工程资源管理器属性窗口和窗体布局窗口等被关闭,可以通过“视图”菜单再次打开。答案:1 6. 在VB 窗体中添加第一个标签控件后,该标签控件的Caption 标题属性设置的默认值是“command1”。答案:答案:0 7. 在VB 中,可以借助键同时选中多个对象。答案:1 8. 在VB 中,调整选中的多个控件的大小和位置时,要最后选中作为调整依据的控件。答案:1 9. 在VB 中,一个程序可能包含若干个不同的文件,但一定不包括工程文件和窗体文件。答案:0 10. 在VB 中,一个程序中的工程文件扩展名为vbp ,窗体文件扩展名为frm。答案:1 11. 在VB 中,要想让同一窗体上的3 个按钮控件的大小相同,可以使用“格式”菜单中的“统一尺寸”子菜单的“两者都相同”命令。答案:1 12. 在VB 中,标签一般用来显示信息,文本框用来接受用户输入的信息。答案:1 13. 在VB 程序中,被使用的窗体和控件统称为对象。答案:1 14. 在VB 中,属性窗口通常显示的是当前被选中的对象的具体属性。答案:1 15. 在VB 中,对象的“名称”和“Caption”是两种相同的属性。答案:0 16. 在VB 中,标签和命令按钮显示的文字由其“Text”属性确定,文本框中显示的文字由其“Caption”属性确定。答案:0 17. 在VB 中我们可以接触两种程序界面,一种是窗体中不带网格点的设计界面,另一种是带网格点的运行界面。答案:0 18. 属性窗口有两个选项卡,一个是按字母排序别一个是按类进行排,但都是用来显示某一对象的各种属性的。答案:1 19. 在VB 中,语句命令中的符号,都必须是英文字符。答案:1 20. 在VB 中,一个对象只能响应一种事件。答案:0 21. VB 的代码窗口包括对象名框事件过程名框和代码编辑区3 部分。答案:1 22. 在VB 中,125 是数值型数据,"125"也是数据型数据。答案:0 23. 在VB 中,可以使用“User & name”作为变量名。答案:0 24. 在VB 程序中,使用Option Explicit 后,如果再使用未加声明的变量,运行程序时会出现错误提示。答案:1 25. 在VB 中CStr 函数可以将数值型表达式的值转换成对应的字符串。答案:1

VB语法基础

VB语言概述 1、编码规则 2、数据类型 3 、变量与常量 4 、运算符和表达式 5、函数

编码规则 1 . VB 代码中不区分字母的大小写 ( l )为了提高程序的可读性,VB 对用户程序代码进行自动转换。( 2 )对于VB 中的关键字,首字母总被转换成大写,其余字母被转换成小写。 ( 3 )若关键字由多个英文单词组成,自动将每个单词首字母转换成大写。 ( 4 )对于用户自定义的变量、过程名,VB 以第一次定义的为准,以后输入的自动向首次的定义转换。

2 .语句书写自由 ( l )在同一行上可以书写多条语句,语句间用冒号“: ”分隔。( 2 )单行语句可分若干行书写,在本行后加入续行符(空格和下划线“_”)。 ( 3 )一行允许多达255 个字符。

3 .注释有利于程序的维护和调试 ?( l )注释以Rem 开头,也可以用撇号“’”,引 导注释内容,用撇号引导的注释可以直接出现在语句后面。 ?( 2 )在VB5 . 0 中新增了“块注释/取消块注释” 功能块,使得将若干行语句(或文字)设置为注释或取消注释十分方便。 ?设置注释块操作:选中要加注释的语句行,单击编辑 工具栏的“设置注释块”按钮。取消注释块操作:选中欲取消注释块的注释行,单击编辑工具栏的“解除注释块”按钮。

2 数据类型 数据类型关键字类型 符 占字节数范围 字节型Byte无10~ 255 逻辑型Boolean无2True 与False 整型Integer%2-32768 到32767 长整型Long&4-2,147,463,648 到2,147,463,647 单精度型Single!4-3.402823E38到3.402823E38 双精度型Double#8双精度实型数能够表达的数的范围是绝对值 小于10308的数,它有15 位有效数字 日期型Date无801,01,100到12,31,9999 字符型String$字符串0 一65535 个字符

vb语句大全

VisualBasic是微软公司推出的简单易学、功能强大编程工具,是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,使用VB能轻而易举地开发适合在Windows 环境下各类应用程序。 语句是程序的基本功能单位,每条语句都有确切的含义,能完成一定的任务。熟练掌握语句,是开发应用程序的基础。VB共有语句77个,这里给出72个,另外5个由于很少用到没有给出,它们是Width#语句,设置文件的输出行宽度。Implements语句,指定要在包含该语句的类模块中实现的接口或类。其余3个用于声明Property过程的名称,参数以及构成其主体的代码,PropertyGet语句,该Property过程获取一个属性的值;PropertyLet语句,该Property过程给一个属性赋值;PropertySet语句,该Property过程设置一个对象引用。点击相关语句看详细内容 语句描述 AppActivate语句激活其它应用程序。 Beep语句通过计算机喇叭发出声音。 Call语句调用一个子程序或函数。 ChDir语句改变当前的路径(目录或文件夹)。 ChDrive语句改变当前的驱动器。 Close语句关闭用Open语句打开的文件。 Const语句声明常量。 Date语句设置当前系统日期。 Declare语句用于在模块或窗体中声明对动态链接库(DLL)中外部过程的引用,在引用API函数时经常用到。 Deftype语句在模块或窗体,为变量和传给过程的参数,设置缺省数据类型,以及为其名称以指定的字符开头的Function和PropertyGet过程,设置返回值类型。 DeleteSetting语句删除指定的Windows注册表的子键。Dim语句声明局部变量并分配存储空间。 Do...Loop语句循环语句,有两种变形,一种是当条件为True时,重复执行一个语句块中的命令。另一种重复执行一个语句块中的命令,直到条件变为True时。 End语句结束程序、过程或语句。 Enum语句定义枚举类型。 Erase语句重新初始化大小固定的数组的元素,以及释放动态数组的存储空间。Error语句模拟错误的发生。 Event语句定义用户自定义的事件。 Exit语句提前退出控制结构、循环或过程的语句体。 FileCopy语句复制一个文件。 For...Next语句以指定次数来重复执行一组语句。 ForEach...Next语句针对一个数组或集合中的每个元素,重复执行一组语句。 Function语句声明Function过程的名称,参数以及构成其主体的代码。 Get语句将一个已打开的磁盘文件读入一个变量之中。 GoSub...Return语句在一个过程中跳到另一个子程序中执行,执行后再返回。 GoTo语句无条件地转移到过程中指定的行。 If...Then...Else语句条件语句,根据表达式的值有条件地执行一组语句。 Input#语句从已打开的顺序文件中读出数据并将数据指定给变量。

相关文档
最新文档