VB常用语句Word文件下载.docx
- 文档编号:16826601
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:74
- 大小:70.96KB
VB常用语句Word文件下载.docx
《VB常用语句Word文件下载.docx》由会员分享,可在线阅读,更多相关《VB常用语句Word文件下载.docx(74页珍藏版)》请在冰豆网上搜索。
[Call]name[argumentlist]
Call语句的语法具有以下几个部分:
Call可选参数;
关键字。
如果指定了这个关键字,则argumentlist必须加上括号,例如:
CallMyProc(0)
name必要参数,要调用的过程名称。
argumentlist
调用一个过程时,并不一定要使用Call关键字。
如果使用Call关键字来调用一个需要参数的过程,argumentlist就必须要加上括号。
如果
省略了Call关键字,那么也必须要省略argumentlis外面的括号。
如果使用Call语法来调用内建函数或用户定义函数,则函数的返回值将
被丢弃。
若要将整个数组传给一个过程,使用数组名,然后在数组名后加上空括号。
4.ChDir语句返回
改变当前的目录或文件夹。
ChDirpath
必要的path参数是一个字符串表达式,它指明哪个目录或文件夹将成为新的缺省目录或文件夹。
path可能会包含驱动器。
如果没有指定驱动
器,则ChDir在当前的驱动器上改变缺省目录或文件夹。
说明
ChDir语句改变缺省目录位置,但不会改变缺省驱动器位置。
例如,如果缺省的驱动器是C,则下面的语句将会改变驱动器D上的缺省目录,
但是C仍然是缺省的驱动器:
ChDir"
D:
\TMP"
5.ChDrive语句返回
改变当前的驱动器。
ChDrivedrive
必要的drive参数是一个字符串表达式,它指定一个存在的驱动器。
如果使用零长度的字符串("
"
),则当前的驱动器将不会改变。
如果
drive参数中有多个字符,则ChDrive只会使用首字母。
6.Close语句返回
关闭Open语句所打开的输入/输出(I/O)文件。
Close[filenumberlist]
可选的filenumberlist参数为一个或多个文件号,其中filenumber为任何有效的文件号,语法如下:
[[#]filenumber][,[#]filenumber]...
若省略filenumberlist,则将关闭Open语句打开的所有活动文件。
当关闭Output或Append打开的文件时,将属于此文件的最终输出缓冲区写入操作系统缓冲区。
所有与该文件相关联的缓冲区空间都被释放
。
在执行Close语句时,文件与其文件号之间的关联将终结。
7.Const语句返回
声明用于代替文字量的常数。
[Public|Private]Constconstname[Astype]=expression
Const语句的语法包含下面部分:
Public可选的。
该关键字用于在模块级别中声明在所有模块中对所有过程都可以使用的常数。
在过程中不能使用。
Private可选的。
该关键字用于在模块级声明只能在包含该声明的模块中使用的常数。
不能在过程中使用。
constname必需的。
常数的名称;
遵循标准的变量命名约定。
type可选的。
常数的数据类型;
可以是Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String
或Variant。
所声明的每个变量都要使用一个单独的As类型子句。
expression必需的。
文字,其它常数,或由除Is之外的任意的算术操作符和逻辑操作符所构成的任意组合。
在缺省情况下常数是私有的。
过程中的常数总是私有的;
它们的可见性无法改变。
在标准模块中,可以用Public关键字来改变模块级常数可
见性的缺省值。
不过,在类模块中,常数只能是私有的,而且用Public关键字也不能改变其可见性。
为了在一行中声明若干个常数,可以使用逗号将每个常数赋值分开。
用这种方法声明常数时,如果使用了Public或Private关键字,则该关
键字对该行中所有常数都有效。
在给常量赋值的表达式中,不能使用变量,用户自定义的函数,或VisualBasic的内部函数(如Chr)。
注意常数可以使程序更具可读性,以及易于修改。
在程序运行时,常数不会象变量那样无意中被改变。
如果在声明常数时没有显式地使用Astype子句,则该常数的数据类型是最适合其表达式的数据类型。
在Sub、Function或Property过程中声明的常数都是该过程的局部常数。
在过程外声明的常数,在包含该声明的模块中被定义。
在可以使用
表达式的地方,都可以使用常数。
8.Date语句返回
设置当前系统日期。
Date=date
对于运行MicrosoftWindows95的系统,要设置的date必须介于1980年1月1日与2099年12月31日之间。
对于运行Microsoft
WindowsNT的系统,date必须介于公元1980年1月1日到2079年12月31日之间。
9.Declare语句返回
用于在模块级别中声明对动态链接库(DLL)中外部过程的引用。
语法1
[Public|Private]DeclareSubnameLib"
libname"
[Alias"
aliasname"
][([arglist])]
语法2
[Public|Private]DeclareFunctionnameLib"
][([arglist])][Astype]
Declare语句的语法包含下面部分:
用于声明对所有模块中的所有其它过程都可以使用的过程。
用于声明只能在包含该声明的模块中使用的过程。
Sub可选的(但Sub或Function二者需选其一)。
表示该过程没有返回值。
Function可选的(但Sub或Function二者需选其一)。
表示该过程会返回一个可用于表达式的值。
name必需的。
任何合法的过程名。
注意动态链接库的入口处(entrypoints)区分大小写。
Lib必需的。
指明包含所声明过程的动态链接库或代码资源。
所有声明都需要Lib子句。
libname必需的。
包含所声明的过程动态链接库名或代码资源名。
Alias可选的。
表示将被调用的过程在动态链接库(DLL)中还有另外的名称。
当外部过程名与某个关键字重名时,就可以使用这个参数。
当动
态链接库的过程与同一范围内的公用变量、常数或任何其它过程的名称相同时,也可以使用Alias。
如果该动态链接库过程中的某个字符不符
合动态链接库的命名约定时,也可以使用Alias。
aliasname可选的。
动态链接库或代码资源中的过程名。
如果首字符不是数字符号(#),则aliasname是动态链接库中该过程的入口处的名称
如果首字符是(#),则随后的字符必须指定该过程的入口处的顺序号。
arglist可选的。
代表调用该过程时需要传递的参数的变量表。
Function过程返回值的数据类型;
可以是Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持
)、Date、String(只支持变长)或Variant,用户定义类型,或对象类型。
arglist参数的语法以及语法各个部分如下:
[Optional][ByVal|ByRef][ParamArray]varname[()][Astype]
Optional可选的。
表示参数不是必需的。
如果使用该选项,则arglist中的后续参数都必需是可选的,而且必须都使用Optional关键字声
明。
如果使用了ParamArray,则任何参数都不能使用Optional。
ByVal可选的。
表示该参数按值传递。
ByRef表示该参数按地址传递。
ByRef是VisualBasic的缺省选项。
ParamArray可选的。
只用于arglist的最后一个参数,表示最后的参数是一个Variant元素的Optional的数组。
使用ParamArray关键字
可以提供任意数目的参数。
ParamArray关键字不能与ByVal、ByRef或Optional一起使用。
varname必需的。
代表传给该过程的参数的变量名;
()对数组变量是必需的。
指明varname是一个数组。
传递给该过程的参数的数据类型;
可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支
持)、Date、String(只支持变长)、Object、Variant、用户自定义的类型或对象类型。
对Function过程而言,过程的数据类型决定其返回值的数据类型。
可以在arglist之后使用As子句来指定函数返回值的数据类型。
在
arglist中,可以使用As子句来指定任何传给该过程的参数的数据类型。
不单可以指定为任何标准数据类型,还可以在arglist中指定As
Any来禁止类型检查,从而允许将任意数据类型传递给该过程。
空圆括号表示该Sub或Function过程没有参数,且VisualBasic应确保不会传递任何参数。
在下面的示例中,First不带任何参数。
对First的调用中使用了参数,就会产生错误:
DeclareSubFirstLib"
MyLib"
()
如果带参数表,则每次调用该过程时都要检查参数的个数和类型。
在下面的示例中,First有一个Long参数:
(XAsLong)
注意在Declare语句的参数表中不能有定长的字符串;
只有变长的字符串才能传给过程。
定长的字符串可以作为过程参数使用,但在传递前
都要被转换为变长的字符串。
注意当所调用的外部过程需要一个值为0的字符串时,就要使用vbNullString常数。
该常数与零长度字符串("
)是不相同的。
10.Deftype语句
在模块级别上,为变量和传给过程的参数,设置缺省数据类型,以及为其名称以指定的字符开头的Function和PropertyGet过程,设置返
回值类型。
DefBoolletterrange[,letterrange]...
DefByteletterrange[,letterrange]...
DefIntletterrange[,letterrange]...
DefLngletterrange[,letterrange]...
DefCurletterrange[,letterrange]...
DefSngletterrange[,letterrange]...
DefDblletterrange[,letterrange]...
DefDecletterrange[,letterrange]...
DefDateletterrange[,letterrange]...
DefStrletterrange[,letterrange]...
DefObjletterrange[,letterrange]...
DefVarletterrange[,letterrange]...
所需的letterrange参数遵循下述语法:
letter1[-letter2]
letter1和letter2参数指定设置缺省数据类型的名称范围。
每个参数都是指变量,参数和Function过程,或PropertyGet过程名称的首
字母,且参数可以是字母表中的任意字母。
letterrange中不区分字母的大小写。
语句的名字就确定相应的数据类型:
语句数据类型
DefBool布尔
DefByteByte
DefIntInteger
DefLngLong
DefCurCurrency
DefSngSingle
DefDblDouble
DefDecDecimal(目前尚不支持)
DefDateDate
DefStrString
DefObjObject
DefVarVariant
例如,在下面的程序段中,Message就是一个字符串变量:
DefStrA-Q
...
Message="
Outofstackspace."
Deftype语句只在使用该语句的模块中有效。
例如,一个模块中的DefInt语句只对在该模块中声明的变量和传给过程的参数的缺省数据类型
,以及Function和PropertyGet过程的返回值的类型有效;
而其它模块中的变量、参数、以及返回值的缺省数据类型就不受影响。
如果不
用Deftype语句显式地声明,则所有变量、参数、Function过程、以及PropertyGet过程的缺省数据类型都是Variant。
当指定字符范围时,通常为以字符集的前128个字符中的字符开始的变量定义数据类型。
不过,如果指定的字符范围是A-Z,则将所有的变量
,包括以字符集的扩展部分(128-255)中的国际字符开始的变量的缺省类型都设为指定的类型。
在指定了A-Z范围之后,就不能再使用Deftype语句来重新定义任何子范围的变量了。
在指定一个范围后,如果另一个Deftype语句定义的
范围中含有前面已定义的字符,就会产生错误。
不过,不管变量是否已定义,都可以使用带Astype子句的Dim语句来显式指定其数据类型
例如,可以在模块级使用如下代码将一个缺省数据类型为Integer的变量定义为Double:
DefIntA-Z
DimTaxRateAsDouble
Deftype语句对用户定义类型中的元素无影响,因为这些元素必须显式声明。
11.deletsetting
在Windows注册表中,从应用程序项目里删除区域或注册表项设置。
语法
DeleteSettingappname,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不能一起使用。
变量的名称;
subscripts可选的。
数组变量的维数;
最多可以定义60维的多维数组。
subscripts参数使用下面的语法:
[lowerTo]upper[,[lowerTo]upper]...
如果不显式指定lower,则数组的下界由OptionBase语句控制。
如果没有使用OptionBase语句,则下界为0。
New可选的。
可隐式地创建对象的关键字。
如果使用New来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用Set
语句来给该对象引用赋值。
New关键字不能声明任何内部数据类型的变量,以及从属对象的实例,也不能与WithEvents一起使用。
变量的数据类型;
可以是Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、
String(对变长的字符串)、String*length(对定长的字符串)、Object、Variant、用户定义类型、或对象类型。
所声明的每个变量都要
一个单独的Astype子句。
在模块级别中用Dim声明的变量,对该模块中的所有过程都是可用的。
在过程级别中声明的变量,只在过程内是可用的。
可以使用Dim语句在模块级或过程级中声明变量的数据类型。
例如,下面的语句声明了Integer类型的变量。
DimNumberOfEmployeesAsInteger
也可以使用Dim语句来声明变量的对象类型。
下面的语句为工作表的新建实例声明了一个变量。
DimXAsNewWorksheet
如果定义对象变量时没有使用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]
[ExitDo]
Loop
或者可以使用下面这种语法:
Do
Loop[{While|Until}condition]
DoLoop语句的语法具有以下几个部分:
condition可选参数。
数值表达式或字符串表达式,其值为True或False。
如果condition是Null,则condition会被当作False。
statements一条或多条命令,它们将被重复当或直到condition为True。
在Do…Loop中可以在任何位置放置任意个数的ExitDo语句,随时跳出Do...Loop循环。
ExitDo通常用于条件判断之后,例如IfThen,在
这种情况下,ExitDo语句将控制权转移到紧接在Loop命令之后的语句。
如果ExitDo使用在嵌套的Do…Loop语句中,则ExitDo会将控制权转移到ExitDo所在位置的外层循环。
14.end
结束一个过程或块。
End
EndFunction
EndIf
EndProperty
EndSelect
EndSub
EndType
EndWith
End语句的语法有以下几种形式:
语句描述
End停止执行。
不是必要的,可以放在过程中的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 常用 语句