VBA程序设计初步.ppt_第1页
VBA程序设计初步.ppt_第2页
VBA程序设计初步.ppt_第3页
VBA程序设计初步.ppt_第4页
VBA程序设计初步.ppt_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1,2020/8/6章,第7章VBA计算机编程初步,3,2020/8/6章,要点,7.1 VBA概述7.2对象模型7.3数据类型7.4过程语句7.5数组,4,2020/8 1,VBA简介VBA(这使您可以在Microsoft Office软件系列中快速开发应用程序,并执行特殊和复杂的任务。5,2020/8/6,7.1 VBA概述,1,VBA简介VBA是面向对象程序设计语言。面向对象程序设计是用于驱动基于对象的事件的对象的计算机编程方法。6,2020/8/6,7.1 VBA概述,1,VBA简介(继续)VBA和通用节目开发语言VB非常相似,它们都来自同一个编程语言:BASIC。VBA与VB中包含

2、的对象级别相同。换句话说,VBa也支持VB支持的对象的大多数属性和方法。但两者并不完全一致。在许多语法和功能上不同。VBA从VB中获得主要语法结构和Office的某些功能。7,2020/8/6,2、VBA编程环境和Office提供的VBA开发界面称为Visual Basic编辑器(VBE),是可视化的Basic编程环境。在Access中打开VBE窗口的方法有多种。在“模块对象”窗口中,单击“新建”按钮或打开现有模块将打开VBE窗口。从“工具”菜单的“宏”子菜单中,选择“Visual Basic编辑器”命令。使用Alt F11快捷键打开VBE介面或切换数据库窗口和VBE窗口。要在8,2020/8

3、/6,2、VBA编程环境、9,2020/8/6、“工具栏工程浏览器”窗口属性窗口代码窗口、10,2020/8/6,7.2对象VBA代码中访问对象,必须从根对象开始逐步导入子对象,直到需要访问的对象。11,2020/8/6、6个Access根对象(见表)、12,2020/8/6和Forms是包含当前数据库中所有打开的西餐对象的集合对象。引用西餐对象的语法为Forms!Formname其中formname是西餐的名称。每个form对象都包含控件集合。例如,要从Form_ form1表单引用控件Text1,可以显式或隐式引用控件集合。表单!Form_西餐1!Text1隐式引用Forms!Form_西

4、餐1。控制!文本1显示引用,13,2020/8/6,2,通过在对象的属性节目代码中分配值来设置对象的属性。格式是对象。属性=属性值,例如Label1。Caption=学生成绩单,14,2020/8/6,3,对象的事件是对象发生的日期或消息。 Click(单击)、DblClick(双击)等一系列事件是为每个对象预定义的。例如:按Command1按钮将更改文本框Text1的字体。private sub command 1 _ click()text 1 . font size=14 end sub,15,2020/8/6,4,对象方法(某些系统封装中的常见过程和函数)对象方法的调用格式如下:物件。

5、方法参数表示例:立即在窗口中输出2 3的结果Debug。Print 2 3 Sub Q1()为 Q1 .debug.print2 3 end sub,16;DoCmd物件的方法可让您在VBA中执行Access作业,例如开启西餐(OpenForm)、关闭西餐(Close)和指定数据库物件(SelectObject)。例如,打开:“浏览学生资料”表格的语句是DoCmd .OpenForm“浏览学生资料”,17,2020/8/6,示例7-2-1:创建显示欢迎消息的表格。(P169)填写新表格,然后放置两个按钮和一个文本框。,option compare database private sub co

6、mmand 1 _ click()me . text 1 . set focusme . text 1 . text=您好!欢迎使用Vba End Sub,private subcommand 2 _ click()me . text 1 . set focusme . text 1 . text=End subprivate Sub 从“工具”菜单的“选项编辑器”格式中曹征字体,存储:计算结果设置属性指定方法的参数,数据类型19,2020/8/6,7.3,变量名是将数据存储在内存中的缓冲区名称。使用变量之前,必须声明变量以告知VBA变量的名称和数据类型。请注意,变量命名必须以字母开头,最大长

7、度为255。变量名包含/*!$等。变量名不能包含空格和下划线。不能包含VBA中的关键字(程序中具有特定含义的单词)、运算符Or内置函数名称Len、Abs等。20,2020/8/6,声明变量类型(P170),21,2020/8/6,变量角色:分配变量的数据类型,声明变量的适用范围(作用域)。如果明确声明变量:则可以在使用变量之前在代码中的任意位置声明变量。最好在程序的开头声明所有变量。您可以使用Dim陈述式将变数宣告为Dim变数名称As类型(例如Dim x As Integer、dim x% dim x1 as integer、x2as integer、x3as single)。如果在使用变量:

8、牙齿变量之前未显式声明变量类型,则系统将执行以下操作:22,2020/8/6,2,常量,在节目执行过程中常量值保持不变:常量可以是数字、字符串或其他值。每个应用程序都包含一组常量,用户可以定义新常量。定义常量后,可以在程序中使用该常量,而无需使用实际值。VBA支援两种茄子类型的常数:内建常数和使用者定义的常数。23,2020/8/6,2,常数,使用者定义的常数,可在程式中经常使用常数值,或促进程式的读取或修改。常量声明使用Const常量名称As类型=表达式格式,例如Const pi=3.141593,24,2020/8/6,3,运算符和优先级、算术运算(加)和Const关键字2020/8优先级

9、(P173)算术运算符由运算符关系运算符逻辑运算符、27,2020/8/6,4、表达式、定义:表达式由运算符、数值和标识符组成。(P172)表达式编写规则:(1)每个符号占用一个空格,所有符号必须并排写入同一水平线,不能在右上角或右下角写方块或下标。例如:X3不能省略X3,X1 X2不能省略X1 X2 (2)中的所有运算符。例如:2X为2*X,28,2020/8/6,4,表达式,(3)所有括号都以括号成对出现。例如,5X 2(Y Z)需要修改数学表达式5*(X (Y Z) (4)中的某些符号。范例:2R可由2*PI*R取代。例如,数学表达式是作为VBA表达式编写的。(-b sqr (B2-4

10、* a * c)/(2 * a),29,2020/8/(请参阅常用嵌入式函数P174表7.3.3),30,2020/8/6,1 MsgBox函数MsgBox(提示、按钮、标题)示例7-3-1: (p175,19,strtitleElse MsgBox 不是你按的确认;预设x座标位置,y座标位置)范例7-3-2:private subform _ load()dim strm SG As String,strtitle as string,StrName As StringStrTitle=InputBox样例strname=inputbox (strmsg,StrTitle,lee) Ente

11、r sub,语句是VBA关键字、属性、函数、运算符和VBE可以识别的,33,2020/8/6,7.4节目语句,编写节目语句时遵循的配置规则称为语法。默认情况下,输入语句时,VBA会自动语法检查输入内容,发现错误弹出一个消息框,提示错误原因。VBA根据关键字、函数第一个字母、自动大写等规则对语句进行简单的格式化处理。34,2020/8/6,7.4节目语句,作者的语法规则通常在一行中输入语句。可以使用复合门。也就是说,将多个语句放在一行中,并用冒号“:”分隔每个语句。可以将一条语句分成多行来写,也可以在继续行的末尾添加续行符(空格和下划线)。(参见P176),35,2020/8/6,7.4节目语句

12、,VBA是结构计算机编程:顺序结构选择结构循环结构,36,2020/8/6,1,赋值语句,赋值语句是程序Text1 .Text=输入名称。A=35 Total/2,37,2020/8/6,1,赋值语句,(P177)赋值语句具有计算和赋值的双重功能。如果右侧表达式类型与左侧变量类型不同,则执行类型转换。赋值编号的左侧可以是变量,不能是常量或表达式。38,2020/8/6,1,赋值语句不能在一个赋值语句中同时为多个变量赋值。反向范例:Dim x%、y%、z% : x=y=z=50执行结果为x=0。这是因为仅将最左边的“=”用作赋值符号,将另外两个“=”用作关系运算符。(Y,Z默认初始值为0)Y=Z

13、比较结果真:-1,-1和50牙齿比较,以便您可以使用false: 0牙齿With语句同时将值分配给一个对象的多个属性。(P177示例7-4-1),39,2020/8/6,40,2020/8/6,41,2020/8/6,41,2020/8300元以上,但不到500元,10%打折;100元以上,但不到300元,95%打折;100韩元也渡边杏的人没有折扣。(P179)计算折扣的过程代码为Dim a As Single,b As Single a是成本。b在打折后为AP if a=1000 then b=0.8 * a else if a=500 then b=0.85 * a else if a=300 then b=0.9 * a。else if A=100 then b=0.95 * A else b=A end if,43,2020

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论