VBA培训课程(共107张).pptx
《VBA培训课程(共107张).pptx》由会员分享,可在线阅读,更多相关《VBA培训课程(共107张).pptx(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 ()培训()培训铸管部2006目 录什么是对象、属性和方法数据类型、变量和常量赋值语句、运算符和内部函数内部对话框程序流程控制语句模块、子程序和函数用户窗体和控件自定义菜单与工具条若干实例0 什么是像 、及其它的应用程序一样,是一种应用程序开发工具,但是与它们不同,是唯一由其他应用程序控制的应用程序开发工具,它可以增强其他应用程序的功能。实际上是建立在中的标准宏语言,可以有效的自定义和扩展那些使用了应用程序的功能。实际上是的派生体,为了在应用程序中使用方便而有针对性的优化和设置了。1 对象、属性和方法 目前,面向对象程序设计( ,简称)被广泛使用,主要是因为它采用了模块化设计,可以实现四个目
2、标:可检验的();可修正的();可重复使用的();可移植的()。 或说具有三个基本概念的支持:数据封装、继承性和多态性。在中,代码对象是一个容器(),容器中包括数据和处理该数据的代码,即对象的属性和方法都包含在对象的定义中。 代码对象具有属性和方法。属性()是对象的外部可见数据();方法()是对象处理数据的过程。其中,外部可见数据是在对象外部可以存取的数据,属性可以是对象处理的数据,或者用来控制对象的行为和外观。当执行一个方法时,该方法仅处理对象所包含的属性,一个对象的方法不能直接改变另一个对象的属性值,但是一个对象的方法可以请求其他对象自行改变它们自己的属性值。一个对象可以基于对另一个对象的
3、描述。 代码对象还可以是其他较大代码对象的组成部分,即对象可以组合。当一个对象是另一个对象的组成部分时,后者就要继承()前者的所有属性和方法。为存取组合对象的属性和方法,书写格式必须从最外层容器对象开始向内层写,直至需要存取属性和方法的那个对象,对象名间用小数点分隔。许多对象可以具有相同的方法,不同对象调用该方法都会产生正确的操作。每个对象是一个特定的、唯一的事物。一个类()则是指具有特定类型的所有对象,所以类是对象定义的最高级别,可以用一个类来创建一个对象。 对象包括工作表、工作簿、图表和单元格区域等,菜单、工具条以及工作表函数库也都是对象。对象集合在中使用集合()来存取大多数工作表对象。如
4、,等。格式为: 集合(“成员名称”);或:集合(“整数值”),其中整数值表示成员位置序号。 如工作簿名为,且工作表位于该工作簿的第二个表,则下列代码用于存取同一工作表。(“”)(“”)(“”)(2)v获取集合的信息 ()(1)(B2) = 属性是统计该集合中成员的个数(1)(B3) = 属性包含集合的父对象的名称(1)(B4) = (3) v在集合中增加、删去成员 在工作表集合的开头添加一个缺省类型的新工作表(3) 删去第3个工作表q用对象存取单元格q 工作表上的单个单元格并不是对象,工作表上的单元格是通过对象来存取的。q 一个对象是工作表上的任意单元格或单元格的矩形组。通过函数将互不连通的单
5、元格组合成一个对象。q 生成对象的三种可用方法是:q方法q方法q方法v方法v 方法是用途最广的一种方法。 ()(1)(B1) = 1 单个单元格(1)(D2, B2) = 2 矩形区域(1)(B33) = 3 矩形区域(1)(B456) = 4 三个孤立的单元格(1)(“B77”), (1)(“C8”) = 5 两个不连通的区域(1)(B999) = 6 两个不连通的区域 注意:矩形区域的表示方法有二: (“列1行1:列2行2”) (“列1行1”,“列2行2”)注意:若把方法用于对象,不管单元格引用是否是直接单元格名,方法对对象的引用都是相对于对象的左上角的。例如:(B1)(A2) = 1 实
6、际上是B2单元格的值为1。v 方法v 方法的格式为:v (i, j) v 其中:i表示单元格行号;v j表示列号,有时j可以用“字母”替代。v 注意事项同上。v方法v 方法 是专门相对于当前单元格创建的对象,格式为:v(“”)或()()v 其中:m表示行偏移量;v n表示列偏移量。v相对偏移方法比较:(“B4”) (4,2) (3,1)v方法的简写v 方法可以采用一种简写的形式。如:v (1)(“E7”)v 可简写为: (1).E7q活动属性q拥有应用软件对象的几个特殊属性,即其活动属性( )。活动属性的取值总是取决于特定类的当前活动对象,活动对象可以是工作簿和工作表重叠窗口中的最顶层的表,或
7、是对象的活动单元格,或是图形对象中被选中的对象。活动属性经常和方法、方法一起使用。用以选择一个单元格区域或一个表;用以激活当前选择对象中的一个单个单元格或选择一个表(此时同于)。 属性值取决于当前显示的工作簿;属性值取决于活动工作簿中最顶层的表,可以是工作表()、图表()、宏表( )或模块表( )。属性值取决于一单个单元格对象。属性与属性紧密相关,但属性值取决于所有被选中的单元格,而不是单个活动单元格。 ()(1) 活动工作簿的第一张工作表被选中(B3) 活动工作表的单个单元格B3被选中 = 23 活动单元格的数值 = 0.00 活动单元格数据格式 = 活动单元格数据位置水平居中 , 4 一种
8、方法,与属性相对应,单元格外框厚的绿色 = 6 单元格背景黄色(“B56”) 活动工作表的一片单元格被选中 = 23 = 0.00 = , 4 = 6(A1) 将活动单元格置于A1 q格式属性q 上例已经引入了格式属性,实际中强烈建议用记录宏的办法获取其格式。q内容属性q 工作表单元格中放入数据有两种途径:一是使用对象的属性;二是使用属性。 (B2)1C1 = 宋 (B3) = 杰 (B4) = 鲲 (B5) = =2*3 (B6)1C1 = -12 (B7) = =2*3 (B8) = 5+2一样的效果一样的效果一样的效果2 数据类型、变量和常量 变量()和数据类型( )决定着数据在计算机内
9、存中的存储方式及存放地点。数据类型是指数据值在内存中的存储方式,包括数据值大小、有效位及是否有小数部分。 中,有11种内部数据类型:布尔型()整数()长整数()单精度浮点数()双精度浮点数()货币()日期()字符串()对象()数组()变体() 创建自定义数据类型:将几个现有的数据类型联合在一起组成一个结构,可能更便于使用。用语句可定义一个数据结构,格式为: 结构名结构内元素1 数据类型结构内元素2 数据类型 注意:不能放在、中,而应单独在最初的变量声明中创建。 q变量是内存中被命名的存储位置,即在内存地址q 和变量名之间建立了一种线性映射关系。v变量名可由字母、数字及标点符号组成。必须以字母打
10、头,且不能包含空格、小数点及类型声明符(#、$、%、&、!)。可以在变量名中使用大写字母,在中并不区别大小写字母。通常将多个词用下划线或大写字母连起来构成具有含义的变量名。v变量的声明v强制声明变量:应在每个模块的开始处加入一条 ,这样程序运行时遇到未定义类型的变量,会显示出错信息。v用语句声明变量,格式有:当没有“ 数据类型”或为“ ”时,意味着该变量为变体类型。 变量名变量名 数据类型数据类型 ,变量名,变量名 数据类型,数据类型,用声明全局变量:声明的变量在应用软件的任何子程序中都是有效的。 定义数组变量:建议用格式: 数组名(数组名(1 21 2) 数据类型数据类型 q定义和使用常量,
11、格式为: 常量名常量名=常数值常数值q变量和常量都有一定的有效作用范围(也称q 作用域)。注意:一旦使用常量,绝不可再给常量赋值。 的有效作用范围为整个模块 z = 15 z的有效作用范围为整个模块,且不可再赋值 1() x x的作用域为该子程序x = 10 = & x 2() & z 说明:在未运行1之前,“ ”。3 赋值语句、运算符和内部函数 定义了变量,即可使用变量进行实际工作。赋值语句 格式为:变量名=表达式 其中:变量名可以是普通变量,数组或对象属性; 表达式可以是数值,也可以是由变量、运 算符、常量和函数组成的公式。 注意对象变量的赋值格式: 变量名 变量名=计算对象值的表达式 (
12、) = (B2) = 2 q运算符q 的基本运算是通过运算符来实现的。q算术运算符q字符串运算符q关系运算符(比较运算符)q逻辑运算符q 运算符说明乘方运算-取非运算*乘运算/除运算整除运算取模运算+加运算-减运算&字符串连接运算相同优先级相同优先级当然,( )是约束运算优先级的更好办法。v常用的算术运算符与字符串运算符(按其优先v 级由高到低顺序)如下:运算符的练习:可在视图/立即窗口中进行,许多程序的试算均可在立即窗口中进行。键入?(或Print)试算运算 运算 1,运算2,;每隔14个字符出一个结果 字符串的连接用“&”或“+”均可 如果改为,显示。因为03,不提倡v关系运算符v关系运算
13、符也称逻辑比较运算符,其结果为或。运算符说明=等于不等于大于=大于或等于相同(仅用于对象)等效于通配符说明:被比较变量中的任一个变量值为非合法值,表达式也将返回。与相当的逻辑测试函数有:函数说明()自变量为数组,返回真()自变量为日期,真()自变量为空字符串,真自变量为错误值,真()自变量为,真()自变量为数值,真自变量为对象,真()调用子程序时判断是否有数值从外部传给可选自变量。没有,真可以和运算符一起使用的通配符:通配符()匹配字符()*任意个字符?任意一个字符#任意一个数字(09)字符表任意一个在字符表中出现的字符!字符表任意一个未在字符表中出现的字符v逻辑运算符(布尔运算符)v逻辑运算
14、符是关系运算符的扩展工具,把若干逻辑比较组合在一起,形成为一个逻辑表达式。运算符说明非或负与或异或蕴含等价ATTFFBTFTFA BFTTFA BTFTTq内部函数q数学函数截断取整函数最大取整函数数学函数中还有两个重要的产生随机数的函数:和()。要说明的是,随机数是计算出来的,初值相同,得到的随机数也相同。建议在一个使用()函数计算随机数的程序中,首先执行一次。用系统时间计算初值,函数初始化随机数发生器使之每次发出的随机数各不相同;()产生随机数:当自变量为负数时,()函数将以该自变量作为初值;当自变量为0,该函数将返回上一个随机数;如果自变量为正数或空,该函数将返回下一个随机数。v字符串函
15、数变为小写字母变为大写字母统计字符串长度寻找字符串或字符位置左边4个字符右边6个字符更换从第13个字符开始的5个字符从第5个字符开始的3个字符在定长字符串中作左对齐调整在定长字符串中作右对齐调整产生6个空格产生6个字符*删除字符串左边空格删除字符串右边空格删除字符串两边空格字符串比较函数:(12)0,二进制码比较形式;1,正文比较形式。取一个字符的AscII码取一个AscII码对应的字符将数值转换为字符串将一个数转换为十六进制的字符串将一个数转换为八进制的字符串和用于定义八进制数和十六进制数。()函数:略去了字符串左侧的空格,并转换字符串直至字符串中的非数字字符;不仅略去了字符串中的其他正文和
16、空格,而且略去了数字字符中间的空格,如(“& o 3 3”)=27将字符串转换为数值v日期、时间及格式函数v数据类型转换函数函数说明转换数据类型为布尔型货币日期双精度浮点数整数长整数单精度浮点数字符串变体错误号4 内部对话框内容概要:消息框()输入框()内部对话框v消息框()v用途:输出简单的错误、警告或提示信息给v 使用者。语法:( () , = + 1 + = ( ?, , ) ?, , “作用同上 自变量含义必要的自变量。作为显示在消息框中的信息字符串。选择性自变量。数值运算式,用来指出显示按钮的数目及形式、使用的图标样式、缺省按钮以及消息框的强制响应等。如果没有指定,则的默认值是0。选
17、择性自变量。显示在对话框标题列中的字符串运算式。如果没有,则将应用程序的名称放在标题列中。选择性自变量。用来识别提供给对话框文字感应说明的说明文档的字符串运算式。如果指定了,则也必须指定。选择性自变量。数值运算式,由说明文档的作者来指定适当的说明主题代码。如果指定,则也必须指定。其中,自变量的设定影响深远,其设定值可概分为四组:第一组值(0-5)用来决定对话框中按钮的形式与数目;第二组值(16,32,48,64)用来决定图标的样式;第三组(0,256,512)决定出哪一个按钮是缺省按钮;而第四组(0,4096)则决定消息框的强制响应性。第1组(按钮设定):决定消息框中的按钮样式。常数值说明0只
18、显示“确定” 按钮1显示“确定”和“取消”按钮2显示“异常终止”、“重试”和“略过”按钮3显示“是”、“否”和“取消”按钮4显示“式”和“否”5显示“重试”和“取消”第2组(图标设定):决定消息框中的图标样式。常数值说明16显示32显示48显示64显示第3组(缺省按钮设定): 决定何者为缺省按钮。常数值说明10以第一个按钮为缺省按钮2256以第二个按钮为缺省按钮3512以第三个按钮为缺省按钮4768以第四个按钮为缺省按钮第4组(类型设定):决定对话框的类型(强制响应性)。常数值说明0应用程序强制响应;使用者必须先响应此消息框,才能在目前的程序中继续工作。4096系统强制响应;所有的应用程序都会
19、暂停,直到使用者响应此消息框。说明:表中的“常数” 都是 内定的,便于记忆及识别用; 四组设定值,可从每组数值常数中选一个出来相加(+), 以得到不同效果。也可取其和。 () (4) (0) = (消息框示范, 1 + 64, )(1) = (要终止吗?, 4 + 32 + 256, 2)(2) = (注意! 开课了!, 48 + 4096, )(3) = (示范结束, 2 + 16, ) 1() , = + 2 + + = ( ?, ) 按钮虚框表示缺省按钮图标v ()v 格式:v(,v ) () = (!, 向您问好:, 宋杰鲲) () = (请输入字体, 字体, 宋体) = & 展示:
20、= 您好! = = 20 5 控制程序流程q分支结构q块结构q 结构q非结构化分支q循环和重复结构q循环q重复结构q重复结构q循环q分支结构块结构q块结构1单块结构Option ExplicitFunction thePay(hours As Single, Optional PayRate) As CurrencyConst DefaultRate = 5.25If IsMissing(PayRate) Then PayRate = DefaultRateEnd IfthePay = hours * PayRateEnd Function格式: 逻辑表达式 语句块 例题: () , 1, 2
21、 = 40 = 8.751 = () 只有一个参数,采用缺省值5.252 = (, ) 两个参数 (1, $0.00), (2, $0.00) 在立即窗口通过Run()语句运行程序 2( , , _ ) = 5.25: = 5000 = 500 () = = 0 () = 2 = * + 嵌套不能用If () And ()替代,因为当Sales无值时,无法将其与一个数值比较,类型不匹配,导致出错。v块结构2多块结构v 格式: 逻辑表达式1 语句块1 逻辑表达式2 语句块2 逻辑表达式3 语句块3其它语句 2( , , _ ) = 5.25: = 5000 = 500 () = = 0 () 什
22、么都不再作 = 2 = * + v块结构3从句v 格式: 逻辑表达式1 语句块1 逻辑表达式2 语句块2其它语句其它语句块 2( , _ , ) = 5.25 = 5000 = 500 () = = 0 () 什么都不再作 = 40) ( =7 10 = 0 = 1 = 2 = 3 = 4 ( , , _ , ) , , = 0 = = = * 12 = / 12 = * 6 = / 6 = * 4 = / 4 = * 2 = / 2 = (, , , ) v 结构2v 在上述程序的 语句最后加入 = () 说明:要使用其它错误值信息,如!,可在对象浏览器中选择,察看下的所有常量,如!对应。q
23、分支结构语句q 格式: 行语句标号名或 逻辑表达式 行语句标号名 = = : = * 12 = / 12 : = * 6 = / 6 : = * 4 = / 4 : = * 2 = / 2 : = () : = (, , , ): 注意:某一行语句的标号名必须写在一行语句的开始并用冒号与后面的语句分开。尽可能避免使用非结构化分支语句。q循环和重复结构循环q 格式为: 循环变量=初值 终值 步长(缺省为1)循环体1 循环体2 循环变量 可以没有,它是强制终止循环的语句,执行中遇到该语句,程序将中断循环,到语句的下一语句执行。循环变量是个一般变量,可在循环体中对其修改,但应避免在循环体中修改该变量
24、。 () , , i , j , () 未声明大小的动态数组 = = (, ) 根据实际需要重新确定动态数组大小 = 1 = 1 (, ) = (, ) = 0 i = 1 j = 1 = + (i, j) j i = / ( * ) : & () 说明:循环实际上是已知迭代次数的循环语句。循环和重复结构重复结构 格式为:v开头判断真逻辑条件: 条件循环体1 循环体2v结尾判断真逻辑条件:循环体1 循环体2 条件v开头判断假逻辑条件: 条件循环体1 循环体2v结尾判断假逻辑条件:循环体1 循环体2 条件 (m ) i, t i = 2 m - 1 t = m i t = 0 = (m) & 不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA 培训 课程 107
限制150内