VBA.docx

上传人:b****6 文档编号:12591806 上传时间:2023-06-06 格式:DOCX 页数:27 大小:31.38KB
下载 相关 举报
VBA.docx_第1页
第1页 / 共27页
VBA.docx_第2页
第2页 / 共27页
VBA.docx_第3页
第3页 / 共27页
VBA.docx_第4页
第4页 / 共27页
VBA.docx_第5页
第5页 / 共27页
VBA.docx_第6页
第6页 / 共27页
VBA.docx_第7页
第7页 / 共27页
VBA.docx_第8页
第8页 / 共27页
VBA.docx_第9页
第9页 / 共27页
VBA.docx_第10页
第10页 / 共27页
VBA.docx_第11页
第11页 / 共27页
VBA.docx_第12页
第12页 / 共27页
VBA.docx_第13页
第13页 / 共27页
VBA.docx_第14页
第14页 / 共27页
VBA.docx_第15页
第15页 / 共27页
VBA.docx_第16页
第16页 / 共27页
VBA.docx_第17页
第17页 / 共27页
VBA.docx_第18页
第18页 / 共27页
VBA.docx_第19页
第19页 / 共27页
VBA.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VBA.docx

《VBA.docx》由会员分享,可在线阅读,更多相关《VBA.docx(27页珍藏版)》请在冰点文库上搜索。

VBA.docx

VBA

VB运算符

 

算术运算符

VB算术运算符:

优先级从上至下

运算运算符表达式举例说明

幂^X^Y  

取负--X  

乘法*X*Y  

浮点除法/X/Y   

整数除法\X\Y截去小数,不舍入

取模ModXModY  

加法+X+Y  

减法-X-Y  

字符串运算符:

运算运算符表达式举例说明

连接&X$&Y$字符串运算,也可以使用“+”

例:

查看运行结果。

PrivateSubCommand1_Click()

a=35

b=12

c$="ssss"

d$="qqq"

Printa+b,a-b,a*b,a/b

Printa\b,aModb,b^2,2*-a

Printc+d,c&d

EndSub

 

 

2、关系运算符

VB关系运算符:

测试关系运算符表达式举例

等于=X=Y

不等于<>或>Y

小于

大于>X>Y

小于等于<=X<=Y

大于等于>=X>=Y

比较样式Like"BAT123khg"Like"B?

T*"返回True

比较对象变量Is使用Is运算符来比较两个对象引用

例:

查看运行结果。

PrivateSubCommand1_Click()

c$="2001181101"

IfLeft(c$,4)="2001"ThenPrint"是2001级的学生"

n1$="王军"

Ifn1$Like"王*"Then

  Print"是姓王的学生"     ''对

Else

  Print"不是姓王的学生"

EndIf

n2$="王军红"

Ifn2$Like"王?

"Then

  Print"是姓王的学生"

Else

  Print"不是姓王的学生"    ''对

EndIf

EndSub

 

 

3、逻辑运算符

VB逻辑运算符:

优先级从上至下

逻辑运算符表达式举例说明

非NotNotX原来为真,否定为假

与AndXAndY其一为假,结果为假

或OrXOrY其一为真,结果为真

异或XorXXorY不同为真,相同为假

等价EqvXEqvY相同为真,不同为假

蕴含ImpXImpYX为真,Y为假,结果为假

逻辑运算表:

-1为真,0为假

XYNotXXAndYXOrYXXorYXEqvYXImpY

-1-10-1-10-1-1

-1000-1-100

0-1-10-1-10-1

00-1000-1-1

例:

查看运行结果。

PrivateSubCommand1_Click()

a=1:

b=2

c=3:

d=4

Printa>bAndc>d

Printad

PrintNota

Printad

Printad

Printad

EndSub

 

 

4、表达式执行顺序

首先执行函数运算。

其次算术运算,算术运算符优先顺序:

幂、取负、乘和浮点除、整除、取模、加和减、连接

再次关系运算。

最后进行逻辑运算,优先顺序为:

Not、And、Or、Xor、Eqv、Imp。

注意:

在运算中,括号内的运算的优先于括号外的运算。

字符串连接运算符不是算术运算符,它的优先级高于比较运算符,低于算术运算符。

Like和比较运算符的优先顺序相同。

进行模式匹配处理,应该注意?

和*两个通配符。

Is是对象比较运算符,它不考虑对象的值,只是针对两个对象是否参照了相同的对象。

当使用幂时,符号优先,例如:

4^-2,表示4的负2次方

vb运算符优先级

当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。

可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。

运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。

但是,在括号中仍遵循标准运算符优先级。

当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。

所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。

算术运算符和逻辑运算符的优先级如下所示:

算术运算符

比较运算符

逻辑运算符

描述

符号

描述

符号

描述

符号

求幂

^

等于

=

逻辑非

Not

负号

-

不等于

<>

逻辑与

And

*

小于

<

逻辑或

Or

/

大于

>

逻辑异或

Xor

整除

\

小于等于

<=

逻辑等价

Eqv

求余

Mod

大于等于

>=

逻辑隐含

Imp

+

对象引用比较

Is

  

  

-

  

  

  

  

字符串连接

&

  

  

  

  

当乘号与除号同时出现在一个表达式中时,按从左到右的顺序计算乘、除运算符。

同样当加与减同时出现在一个表达式中时,按从左到右的顺序计算加、减运算符。

字符串连接(&)运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。

Is运算符是对象引用比较运算符。

它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。

VisualBasic(简称VB)是在原有Basic语言基础上的进一步发展,它包含了数百条语句、函数及关键词,具有“所见即所得(WYSIWYG)”的可视化编程环境。

从掌握开发VB应用程序的基本技能出发,本章主要介绍VB的基础知识、基本语法规则,包括字符集、数据类型、常量、变量、命名规则、运算符、表达式以及常用内部函数。

2.1VB的基本字符集和词汇集

2.1.1字符集

程序由语句构成;语句由表达式、单词构成;表达式和单词由字符组成;程序语言中,字符、词汇、表达式、语句、过程、函数被称为“语法单位”。

语法的形成规则称为“语法规则”。

字符是构成程序设计语言的最小单位。

VB的字符集包括:

数字,英文字母和特殊符号。

数字  :

0---9

英文字母:

26个英文字母的大小写 a---z和 A---Z

特殊字符:

!

#$%&@^'()*+,-./\?

<=>[]_{}︱~:

;〞space

注:

在代码窗口输入程序时,除汉字外,其余符号不能以全角或中文方式输入,而只能以英文方式键入作为语言成分的字符。

例如:

Print“x*y=”;x*y

2.1.2词汇集

词汇符号时程序设计语言中具有独立意义的最基本结构。

词汇符号包括:

运算符、界符、关键字、标识符、各类型常数。

   1.运算符和界符

算术运算符:

  + -  * / \ MOD ^

字符运算符:

  & +

比较运算符:

  > >= < <= = <>

逻辑运算符:

  NOT  AND  OR  XOR  EQV  IMP

其他界符 :

!

# $% @( ) , . ' ?

 [ ]_{ }︱~ :

;〞space

2.关键字

又称保留字,在语法上又固定的含义,是语言的组成部分,往往表示系统提供的标准过程、函数、运算符、常量等。

在VB中,约定关键字的首个字母为大写。

2.2VB的数据类型

VB提供了许多基本数据类型,如:

String(字符型),Integer(整型),Long(长整型),Boolean(逻辑型),Variant(可变型),Currency(货币型)等,每种数据类型占用一定的内存,允许存储一定类型及范围的值。

 

2.2.1字符串型

String用于存放字符串。

在VB中,字符串要用双引号括起来,是一组由计算机字符组成的序列。

每个字符都以ASCII编码表示,因此在字符串中字母的大小写是有区别的。

简单地说用双引号括起来的一串字符即为字符串。

例如:

“VisualBasic”、“中国大学生”、“123.456”、“everyone”、“”(空字符串)

字符串中包含的字符个数称为字符串长度,在VB中把汉字作为一个字符处理。

字符串有两种:

变长字符串和定长字符串。

变长字符串的最大长度为231-1个字符;定长字符串的最大长度为65535个字符。

2.2.2数值型

数值(Numerice)数据类型分为整型数据和实型数据两大类。

有整型(Interger)、长整型(Long)、字节型(Byte)、单精度型(Single)、双精度型(Double)和货币型(Currency)。

      

1.整型(Interger)和长整型(Long)用于保存整数

可以是正整数、负整数或者0。

整型数用两个字节存储,表示数的范围为:

-32768~+32767

长整型数用4个字节存储,表示数的范围为:

-2147483648~+2147483647

例如:

369、-369、+369均表示整数,而369.0就不是整数。

   3977、12345678均表示长整数。

而123,456则是非法数。

如果要存储数据的是整数而不是小数,则可声明它为Integer或Long。

整型数的运算速度快、精确,且占用存储空间较小,但表示数的范围也较小。

2.字节型(Byte)用来存储二进制数。

Byte是从0-255的无符号类型,不能表示负数。

如果数据包含小数,则应声明为Single、Double或Currency型。

实数是带有小数部分的数,分为浮点数和定点数。

其中浮点数由符号、指数、尾数三部分组成。

3.单精度型(Single)用来表示带有小数部分的实数

用4个字节存储,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用“E”或“e”表示。

单精度数有多种表示形式:

±n.n(小数形式)  ±nE±m(指数形式)  ±n.nE±m(指数形式)

例如:

123.45、0.12345E+3、123.45!

都是同值的单精度数。

如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。

4.双精度型(Double)

用8个字节存储。

多精度浮点数最多有15或16位十进制有效数字,多精度浮点数的指数用“D”或“d”表示。

科学记数法格式:

±aD±c或±ad±c

例如:

314.159265358979D-2表示3.14159265358979。

Single和Double采用浮点数表示,范围较大,但存储的数据为近似值,单精度型精确到7位,双精度型精确到15---16位,而Currency型采用定点数表示,虽范围较小(15位整数,4位小数),但存储的数据精确,适合于作金融计算。

5.货币型(Currency)

货币型(Currency)是一种专门为处理货币而设计的数据类型,是一种特殊的小数。

用8个字节存储,保留小数点右边4位和小数点左边15位,

如果数据定义为货币型,且其小数点后超过4位,那么超过的部分自动四舍五入。

对数值型数据采用哪种数据类型,可从以下三个因素考虑:

计算机内存占用量;程序执行速度;计算的精度。

2.2.3逻辑型(Boolean)

逻辑数据类型用于逻辑判断,只有两个值:

真(True)、假(False)

若数据信息是“true/false”、“yes/no”、“on/off”信息,则可将它定义为Boolean类型。

逻辑数据转换成整型数据时,真转换为-1,假转换为0;其他类型数据转换为逻辑数据时,非0数转换为真,0转换为假。

 

2.2.4日期型(Data)

用8个字节的浮点数存储,表示从公元100年1月1日到公元9999年12月31日的日期,时间范围则从0点0分0秒到23点59分59秒即0:

00:

00~23:

59:

59。

表示方法有两种:

一种是以“#”括起来的字面上被认为是日期和时间的字符;另一种是以数字序列表示。

例如:

#08/10/2004#、#2004-08-10#、#September1,2004#、#2004-9-1013:

30:

15#。

以数字序列表示时,小数点左边的数字代表日期(Date),小数点右边的数字代表时间(Time)。

其中,0为午夜0点、0.5为中午12点;负数代表1899年12月31日之前的日期和时间。

 

2.2.5可变类型(Variant)

可变型数据是一种可以随时改变数据类型的数据,可以存储任何类型(VB内部)的数据。

注意:

可变类型不是没有类型的,而是可以根据需要自由地改变其类型。

基本数据类型是系统定义的数据类型,VB6.0中定义的基本数据类型见表2.1。

表2.1 VB的基本数据类型

数据类型

关键字

类型符

占字节数

范 围

字节型

Byte

1

0--255

逻辑型

Boolean

2

True与False

整型

Integer

%

2

-32,768至32767

长整型

Long

&

4

-2,147,483,648至2,147,483,647

单精度型

Single

!

4

±3.402823E38

双精度型

Double

#

8

±1.79769313486231E308

货币型

Currency

@

8

-922,337,203,685,477.5808至922,337,203,685,477.5807

日期型

Date

8

0,01,100到12,31,9999

字符型

String

$

存储的字符数

0--65,535个字符

变体型

Variant

根据需要分配

 

2.3常量与变量

在程序运行过程中,其值始终保持不变的量称为常量。

在程序的运行过程中,其值可以改变的量称为变量。

变量是计算机内被命名的存储位置,在程序代码中指定一个变量名,运行时系统就为之分配合适的存储空间,该存储单元中的值可以改变。

对变量的操作即对该内存单元中数据的操作。

内存存储信息的特点决定变量值的变化规则,即变量一经赋值,可以多次取出使用,其值保持不变,直到再次给该变量赋以新值,则新值代替旧值。

2.3.1常量和变量的命名规则

在VB中,命名一个变量或常量要遵循以下规则:

◆必须以字母A~Z(或a~z)开头,由字母、汉字、数字、下划线组成的字符

◆名称中间不允许有空格

◆名称的最后一个字符可以是类型说明符号(规定数据类型的特殊字符)

◆VB中的关键字不能作为变量、常量名

◆常量或变量的名称中字母不区分大小写。

如ABC、abc、aBc都认为是一个相同的名称。

为了便于区分,一般变量名首字母用大写字母,其余用小写字母表示,而符号常量全部用大写字母表示。

2.3.2常量

 

 

 

 

 

 

                                       

表2.2

1.   普通常量

普通常量的类型和值由它本身的表示形式决定。

如:

12345   是一个十进制整数

“12345”是一个长度为5的字符串常量

“student”是一个长度为7的字符串常量

#8/12/200412:

30:

00#为日期型常量

   对于各种数据类型的常量值,为了显式地指明常数的类型,可以在常数后面加上类型说明符,这些说明符分别为:

%     整型

&      长整型

!

      单精度浮点型

#      双精度浮点型

@      货币型

$      字符串型

如:

-0.123!

 是一个单精度浮点型常数

1.236#  是一个双精度浮点型常数

 

2.符号常量

程序代码中往往包含有重复使用的常量值;为了提高程序的可读性和便于维护,可以用有意义的符号常量来代替这些常数值。

此时要先声明。

声明常量的语法规则如下:

Const符号常量名[As类型]=表达式[,符号常量名=表达式……]

 

功能:

设置符号常量为表达式的值

说明:

◆可指定特定的数据类型。

(在前面列出的数据类型中均可使用。

)说明符号常量时,可以在常量名后加上类型说明符,类型说明符不是符号常量的组成部分。

◆经过说明的符号常量只是常数值的名字,不能在程序代码中修改它的值。

◆在一行中说明多个常数时使用逗号分隔。

◆常量说明语句若在过程内部,则符号常量只能在该过程内有效;若说明语句出现在窗体代码的声明部分,则窗体以及窗体中各控件的事件过程都能引用该符号常量。

◆表达式可以为文字常数,也可为包含除Is之外的任意算术操作符和逻辑操作符所构成的表达式。

举例:

下面的语句分别定义了四个符号常量。

ConstNAMEAsString=“nongye” '定义NAME是符号常量,其值是字符串"nongye"

ConstNUMAsInteger=123      '定义NUM是符号常量,其值是整型数123

Constsum%=196                 '定义sum是整型常数,其值是196

Constpi=3.1415926,myly=“Hello!

everyone”

2.3.3变量

 

VB程序中的变量在使用之前应该进行声明,并指定一种数据类型,这样即可减少内存开销,又可提高运行速度。

可以强制要求变量声明,这样可能会减少调试时间。

1.变量的声明

◆用语句声明。

格式如下:

Dim/Public/Private/Static变量名[As数据类型][,变量名[As数据类型]…]

说明:

◆使用不同的命令关键字及不同的声明语句位置,使变量有不同的作用域。

◆变量名应遵从对变量的命名规则。

◆数据类型可以是前面列出的任何一种。

◆括号中的内容可以省略,省略As词条,系统默认为可变类型。

一条语句可声明多个变量,以逗号分隔。

◆变量被声明后,VB即为之赋缺省的初值:

数值型变量的缺省初值为0;字符串型为空串;布尔型为False;日期/时间型为1899年12月30日0点0分0秒;可变型为空empty。

◆对于字符串变量,根据其存放的字符串长度是否固定,其定义方法有两种:

命令关键字字符串变量名ASString 声明不定长的字符串。

命令关键字字符串变量名ASString*字符数 声明定长的字符串。

⑴用Dim关键字声明变量

   格式:

Dim变量名[As类型]

   其中:

[As类型]为可选项。

当该部分省略时,所建立的变量类型默认为可变类型。

   用途:

在模块过程中或窗体级的通用过程中定义变量。

   例子:

DimitageAsInteger      '定义itage为整型变量

         DimStrTepAsString      '定义StrTep为不定长字符型变量

         DimStrNameAsString*10'定义StrName为定长10的字符型变量

         DimNumberAsSingle,CountAsSingle

                                    '定义Number和Count都是单精度变量

         DimNumber,CountAsSingle

                                    '定义Number为可变变量,Count为单精度变量

   从上面的例子可知:

◆    字符串变量有定长和不定长两种形式。

◆    在一个Dim语句中可以定义多个变量,之间用逗号隔开。

 

◆    在一个Dim语句中定义多个变量时类型声明不能共用。

 

另外也可用类型说明符直接声明变量。

格式如下:

命令关键字变量名类型符

如:

Dim itage%   '定义itage为整型变量

      Dim light!

    '定义单精度型变量light

   Dim StrTep$  '定义字符串型变量StrTep

   Dim Rmb@   '定义货币型变量Rmb

◆隐式声明

不声明变量而直接使用,其类型为Variant类型

,但程序出错时不易查出。

为了避免此类麻烦,可以规定每个变量都要经过作显式声明才可以使用。

这样,VB遇到一个未经声明的标识符,就会发出错误警告。

方法有两种:

1、)在窗体的【通用】区中加入OptionExplicit语句,代码中用到的变量必须先声明才能使用。

2、)在“工具”菜单中选取“选项”后,单击“编辑器”选项卡,复选“要求变量声明”选项即可。

用Static关键字声明变量

    格式:

Static 变量名  As  类型名

    用途:

在过程中定义静态变量

    说明:

该变量的值在函数或过程执行结束后能保存下来,所以,下一次执行时,该值不再初始化。

    例子:

PrivateSubform_Click()

                           

DimA1AsInteger

              

StaticA2AsInteger

                  

A1=A1+1

                  

A2=A2+1

                          

 ……

EndSub  

该过程中A1和A2定义为不同类型的整型变量。

A1的值每调用一次过程就自动加1,过程调用一结束,其值就变为0。

A2的值每调用一次过程也自动加1,过程调用结束时,A2的值等于调用该过程的次数。

⑶Public关键字声明变量

用途:

在全局模块中使用,定义的变量是全局变量,作用域为整个应用程序。

声明的方式:

   

1、)单击“工程”菜单上的“添加模块”选项,添加一个新模块文件或打开现有的模块文件。

   2、)用Public语句定义变量,格式为:

        Public变量名As类型名

   

例子:

PublicPIAsSingle

              

PublicAAAsInteger

 

 

 

 

2.4 运算符和表达式

运算符是代表VB某种运算功能的符号。

VB程序会按运算符的含义和运算规则执行实际的运算操作。

VB中的运算符包括:

算术运算符、字符串运算符、逻辑运算符、关系运算符。

由这些运算符将相关的常量、变量、函数等连接起来的式子即为表达式。

 

例如:

a+b (4/3)*Pi*r^3    “It’s“ & “acat” 等等。

2.4.1算术运算符与数值表达式

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2