资源描述:
《3、VBA编程基础》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、11.3.1了解VisualBasic语法本节解释最常见的语法元索。11.3.1.1Activate方法的语法语法:object.Activate在Activate方法的语法中,object是一个所提供信息的占位符,在此例中的代码会返回一个对彖。例如,下面的过程会在活动的文档中激活第二个窗口。SubMakeActive()Windows(2).ActivateEndSub11.3.1.2MsgBox函数的语法语法:MsgBox(prompt[,buttons][,title][,helpfile,context])在MsgBox两数的语法中,括号内的参数是此两数的命名参数。方括号所包含的参
2、数是选择性的(在VisualBasic屮不用键入方括号)。在MsgBox两数屮,唯一必须提供的参数(prompt)是做为提示的文本。在代码中可以利川位置或名称来指定两数与方法的参数。若利用位置来指定参数,则必须根据语法中的顺序,利用逗号來分隔毎一个参数,例如:MsgBoxYouransweriscorrect!,0,AnswerBox若以名称來指定参数,则须使用参数名称或跟着冒号与等号(=),最后再加上参数值。可以任何的顺序來指定命名参数,例如:MsgBoxTitle:=AnswerBox,Prompt:=Youransweriscorrect!函数以及某些方法的语法会利用闘括号将参数封闭
3、起來。这些函数和方法会返冋值,所以必须用闘括号将参数封闭起來,才可以赋值给变量。如果忽略返冋值或是没冇传递所冇的参数,则可以不用圜括号。方法若不返冋值,则不用将参数用惻括号封闭起來。上述准则不管是使用命名参数或位置参数都适用。在下面的示例中,MsgBox两数的返回值是一个号码,它被存储在变量myVar中,以用來指示选择的按钮。因为需耍川到返回值,所以调川时必须使川圆括号。而另一个消息框则是川来显示变量的值。SubQuestion()myVar=MsgBox(Prompt:="lenjoymyjob.'*,_Title:="AnswerBox",Buttons:="4H)MsgBoxmyVa
4、rEndSub11.3.1.3选项语句的语法语法:OptionCompare{Binary
5、Text
6、Database}在OptionCompare语句的语法中,大括号和垂线指示三项中的强制性选样•(在VisualBasic的语句屮不用键入大括号)。例如,下列的语句指出在模块中,字符串的比较是根据文木的排序顺序而不区分大小写。OptionCompareText11.3.1.4Dim语句的语法语法:Dimvarname[([subscripts])][Astype][,varname[([subscripts])][Astype]]...在Dim语句的语法屮,Dim是必备的关键字。而唯-必备
7、的元素是varname(变量名)。例如,下列的语句创建三个变量:myVar>nextVar和thirdVar。它们会口动被声明成Variant变量。DimmyVar,nextVar,thirdVar下面的示例声明了一个String型的变量。它包含了数据类型,如此可以节省内存并且可帮助从代码中找出错误。DimmyAnswerAsString若在一个语句中声明好儿个变量,则必须包含每一个变量的数据类型。变量在声明时若少了数据类型,则会自动地声明为VariantoDimxAsInteger,yAsInteger,zAsInteger在下列的语句中,x与y都被指定成Variant数据类型,只冇z被
8、指定成String数据类型。Dimx,yAsInteger,ZAsString如果声明一个数组变量,则必须包含圆括号,但下标则是可选的。下列的语句中定义了一个动态数组myArrayoDimmyArray()11.3.2有效地利用数据语法表列出VBA所支持的数据类型,以及存储空间的大小与范围。注意:任何数据类熨的数组都需要20个字节的内存空间,加上毎一数组维数占4个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。例如,以4个2字节的Integer数据元所组成的一维数纽.中的数据,占8个字节。这8个字节加上额外的24个字节,使得这个数组所需总内
9、存空间为32个字节。包含一数组的Variant比单独的-个数组需要多12个字节。注意:使用StrConv函数把字符串数据从一种类型转换为另一种类型。除非冇其他的指定,否则未声明变量会被指定成Variant数据类型。这个数据类型可使写程序变得较容易,但它并不总是使用中放有效率的数据类型。若有下列情形时必须考虑使用其他的数据类型:•程序非常大并且使用很多变量。•程序的执行速度必须尽可能得快。•将数据直接写到随机存储文件中。除