VBA.docx
- 文档编号:12591806
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:27
- 大小:31.38KB
VBA.docx
《VBA.docx》由会员分享,可在线阅读,更多相关《VBA.docx(27页珍藏版)》请在冰点文库上搜索。
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
不等于<>或>
小于 大于>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 Printa PrintNota Printa Printa Printa 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算术运算符与数值表达式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA