收藏 分享(赏)

excelvab-基础与应用.ppt

上传人:无敌 文档编号:50887 上传时间:2018-03-07 格式:PPT 页数:113 大小:4.91MB
下载 相关 举报
excelvab-基础与应用.ppt_第1页
第1页 / 共113页
excelvab-基础与应用.ppt_第2页
第2页 / 共113页
excelvab-基础与应用.ppt_第3页
第3页 / 共113页
excelvab-基础与应用.ppt_第4页
第4页 / 共113页
excelvab-基础与应用.ppt_第5页
第5页 / 共113页
点击查看更多>>
资源描述

1、Yard of Choice,EXCEL VBA 基础与应用,Yard of Choice,第一章 基础知识(课时),目 录,第三章 开发AUTOCAD、CATIA (3课时),第二章 EXCEL VBA (5课时),Yard of Choice,EXCEL VBA 基础与应用,第一章 基础知识,Yard of Choice,第一章 基础知识,VBA 认识,VBA 工作原理,VBA与VB之间的区别,常用语法,代码结构,对象架构,自定义函数,Yard of Choice,VBA认识,VBA是Visual Basic For Application的缩写,在Office系列办公软件当中,VBA又分

2、为Excel VBA语言、Word VBA语言以及PowerPoint VBA语言等。VBA是用Visual Basic(简称VB)来开发应用程序的一种语言,而Excel VBA则偏重于面向Excel对象(如工作簿、工作表以及单元格等)进行编程,也就是说Excel VBA是通过用代码编写的命令和使用过程来操作工作表或单元格等对象,进而在Excel中完成自动化操作的相关设置。可以将Excel VBA看作是VB的一个分支,VBA继承了VB很大一部分编程方法。VB中的语法结构、变量的声明以及函数的使用等内容,在VBA中同样可以正常地进行使用。,VBA认识,Yard of Choice,VBA认识,在

3、20世纪90年代早期,关于应用程序自动化的问题仍是充满挑战性的领域。当时,对不同应用程序的自动化,人们都不得不学习不同的自动化语言。例如,自动化Excel需要调用Excel的宏语言,而自动Word又必须使用Word Basic等。于是,微软决定开发出来的应用程序共享一种通用的自动化语言VBA。这样,对于微软所有的应用程序,都可以使用VBA来操作其自动化。除了微软以外很多软件公司也开发了VBA功能。,Yard of Choice,VBA工作原理,VBA是Office对象和VBA程序代码之间相互关联和交流的桥梁。VBA代码是由VB语言来编写的,其变量定义及语法结果与VB语言完成相同,当使用VBA代

4、码来调用Office对象时,需要有VBA程序接口,而这种调用是通过对象模型自动化实现的。VBA的主要任务是通过编写程序代码来操作Office对象,从而完成特定的任务操作。当使用VBA代码调用Excel的某个属性时,如果在VBA环境中解释执行VBA代码时,发现有对Excel这个属性的调用,则就自动通过对象模型调用该属性,然后通过方法操作该属性,这样就实现了VBA代码和Office对象之间的通信连接。VBA的工作原理如图所示。,VBA工作原理,Yard of Choice,VBA与VB之间的区别,VBA与VB之间是紧密相关的,VBA是VB的一个分支,也可以将VBA理解为“寄生在Office产品中的

5、Visual Basic”。然而,很多用户总是混淆VB和VBA的概念。实际上,VBA和VB之间存在着一定的区别,具体的内容包括以下几个方面。(1)设计目的不一样。VB用于设计创建标准的应用程序,而VBA则是使已有的应用程序(Excel、Autocad 等)自动化。(2)开发环境不同。VB具有自己的开发环境,而VBA必须寄生于已有的应用程序(如Excel等)当中。(3)编译执行文件不同。VB执行文件的扩展名为.exe。VB由于内含编译器,因此可制作可执行文件。VBA则由于内含于office系列各软件内,且不提供编译器,故VBA程序只可依附于各软件而执行,无法制作可执行文件。,VBA与VB之间的区

6、别,Yard of Choice,VBA与VB之间的区别,(4)运行方式不同。要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件,而VBA开发的程序必须依赖于它的“父”应用程序。(5)可用的资源不同。对于程序内可引用的资源,包括对象、函数等。VB在此方面的资源要比VBA多很多。从专业的角度来看,VB是较专业的程序设计语言,而VBA的目的则是强化Office应用系统,故在可用资源方面,VBA不及VB。,Yard of Choice,对象架构EXCEL,Yard of Choice,对象架构AUTOCAD,Yard of Choice,对象架构CATIA,Yard o

7、f Choice,常用语法,VBA与其他高级编程语言一样,也有自己的语法规则。在大多数编程语言当中,对象的使用几乎都包括“设置对象属性”、“获取对象属性”和“使用对象的方法”这3种方式。下面分别就这3种方式讲解对象的使用规则。1.获取对象Set ObjectVar=object2设置对象属性设置对象属性的基本语法如下。Object.Property= Value3获取对象属性获取对象属性的语法如下。Var_Propertyname=Object. Propertyname4使用对象的方法使用对象方法的语法结构如下所示。Object.method,使用对象的规则,Yard of Choice,常

8、用语法,数据类型是构成语言的最基本的元素,因此,在学习VBA编程语言之前必须首先学习VBA语言的数据类型。常用的VBA数据类型如表所示。,数据类型,Yard of Choice,常用语法,常量是静态的存储空间,当某个数据需要保持不变时可以使用常量,常量在程序中不能被修改。使用常量可以增加程序的可读性,使程序代码看起来更加地清晰、明了。常量的名称一般用大写字母来表示,声明常量使用的是Const语句,语句格式如下所示。Const 常量名 as 数据类型=值在声明常量时,需要对其进行赋值,并且赋值后该值不能再被修改。通常情况下,需要给常量指定数据类型。可以作为常量的数据类型有:布尔型、日期型、字符串

9、型、货币型、小数型、字节型、整型、长整型、单精度浮点型、双精浮点型和变体等。在Excel VBA的系统内部也规定了很多的常量,这些常量可与应用程序的对象、方法和属性一起使用。例如,把窗体中文本框的背景色设置成青色,前景色设置成红色,则在VBA中实现的语句如下。01TextBox1.BackColor=CYAN02TextBox1.ForeColor=RED,常量,Yard of Choice,常用语法,在程序运行时根据不同的情况,值可以随之发生变化的自定义对象,称为变量。在编写VBA程序时,经常要使用到变量或对象。变量用于保存程序运行时需要临时保存的数值或对象。变量在编写应用程序时非常的重要。

10、1变量的定义与声明 dim varname as type Public varname as type2变量的生存周期 变量的生存周期 分为 全局变量,静态变量,局部变量 这里我们只讲全局变量和局部变量3变量转换函数 a=50.5 i=int(a),变量,Yard of Choice,常用语法,数据运算主要有算术运算、比较运算、连接运算和逻辑运算4种。在进行数据运算时离不开数据运算符,在VBA语言中主要有算术运算符、比较运算符、连接运算符和逻辑运算符4种运算符。下面将分别进行讲解。1算术运算符:在编写应用程序时,经常会用到算术运算符。(加,减-,乘,除等)2比较运算符:比较运算符通常用在过程

11、控制中的条件语句中。(大于,小于,等于=,不等)3连接运算符:连接运算符分为强制字符连接运算符和混合连接运算符两种。(+,&)4逻辑运算符:逻辑运算符包括逻辑与(AND)运算符和逻辑或(OR)运算符两种。,数据运算,Yard of Choice,常用语法,在编程语言当中(包括VBA编程语言),判断语句是经常要用到的。通常所用到的判断语句指的就是If语句。If语句在不同的编程环境中,其语法结构也不相同。在VBA开发环境中,If语句主要有以下4种情况的语法结构。If condition Then statementsIf condition Then statements Else stateme

12、ntsIf condition Then statements Else statements End IfIf condition Then statements ElseIf conditionn Then statements Else statements End If上述语句结构中的condition表示的是条件表达式,statements则表示的是可执行的语句。,判断结构语句,Yard of Choice,常用语法,在编写应用程序的时候也经常会用到循环语句。循环语句是指重复执行一行或多行的语句,使用循环语句可以减少程序的书写代码,提高程序的运行速度。在VBA中主要有以下3种形式的循

13、环语句。1DoLoop语句:DoLoop语句的语句格式如下所示。Do While | Until condition statements Exit Do statementsLoop,循环语句,Yard of Choice,常用语法,2ForNext语句:ForNext语句也是循环语句中最常用的一种,ForNext语句具有使用方便、灵活的特点,因此,大多数程序编写人员使用的循环语句都是ForNext语句。ForNext语句的语法结构如下所示。For counter=start To end Step stepvar statements Exit For statementsNext cou

14、nter,Yard of Choice,常用语法,3For EachNext语句:循环语句中还有一种比较常用的语句就是For EachNext语句。For EachNext语句主要针对的是具有并列关系元素的集合,使用For EachNext语句会对集合中每一个元素重复执行一组语句,通常在不能确定集合中元素数量的情况下,可以使用For EachNext语句。For EachNext语句的语句结构如下所示。For Each element In groupstatementsExit ForstatementsNext element,Yard of Choice,常用语法,错误转移语句的作用是当

15、程序出错时,将忽略程序出现的错误或者在出错后将程序转移到指定的位置运行。错误转移语句主要有以下两种形式。On Error GoToOn Error Resume Next下面就分别介绍这两种表示形式。1On Error GoTo语句该语句用于当程序出现错误时,将程序转移到指定的位置运行,其实现的语句结构如下所示。On Error GoTo 指定的位置2On Error Resume Next语句On Error Resume Next语句的作用是当程序出现错误时,程序会忽略该错误转向下一条语句继续执行。On Error Resume Next语句的语法结构如下所示。On Error Resum

16、e Next,错误转移语句,Yard of Choice,常用语法,Select Case语句可以根据表达式的值,选择执行几组语句中的一种,其基本的语法结构如下所示。Select Case expressionCase expressionlist-nstatements-nCase ElseelsestatementsEnd Select,Select Case语句,Yard of Choice,常用语法,expression是必要的参数,表示为任何数值或字符串表达式。expressionlist-n表示用来制定某个范围或某值,供表达式expression进行选择匹配。statements-

17、n是该组的执行语句。Case Else elsestatements用于当Case子句中所有的条件都不匹配时执行。该语句的执行原理如下。如果expression表达式匹配某个Case expressionlist表达式,则在Case子句之后,直到下一个子句的statements才会被执行;如果是最后一个子句,则执行End Select语句,然后执行End Select语句后面的语句。,Yard of Choice,代码结构,使用 VBA的目的是能够自动完成指定的任务,从而为用户进行日常办公带来方便。对于要完成的操作任务而言,有的任务比较简单,而有的则较为复杂,即由多个小任务组成一个大任务,如船

18、舶企业的材料管理、设备管理、文档管理等。能独立完成一个或大或小任务的代码集合,称为一个独立的程序。程序又根据有无执行的对象分为模块程序、过程程序和事件程序。本节中将详细讲解有关这几个方面的相关内容。,Yard of Choice,代码结构,在Excel VBA中,模块是作为一个单元保存在一起的VBA定义和过程的集合,是存放VBA程序代码的地方。在Excel VBA中,模块分为标准模块和类模块两种。标准模块:用于存放全局变量公共函数的声明、函数、自定义函数等,用户可以在模块所在的工程中调用该模块的全局变量、函数等。标准模块只能在同一个工程中进行调用。类模块:用于存放用户自己创建对象的定义。与标准

19、模块不同的是,类模块可以跨工程进行调用。在使用VBA编程过程中,绝大部分都是集中在对标准模块进行操作上,几乎都用不上对类模块进行编程。因此,本节中主要讲解有关标准模块的使用方法。,模块程序,Yard of Choice,代码结构,在上一节中讲解了模块的概念,然而,在进行VBA编程的过程中,VBA程序代码最终还是以过程为单位的。过程是程序中较小的逻辑单元,其包括一系列用于完成某种任务或计算的语句。每个过程都有自己的并且唯一的名字,在工作簿中以此来区分不同的过程。过程的命名有自己的规则,其具体如下所示。过程名称的第一个字母不能是数字或者下划线。名字可以包括数字和下划线,但不能包括空格、句号、感叹号

20、,以及、#、$、&等特殊字符。名字可以用中文,但是为了保持兼容性,建议最好使用英文,不使用中文。名字的最大字符数为255个。,过程程序,Yard of Choice,代码结构,事件程序是一种特殊的子过程程序。当某种特定的事件发生时才执行的程序称为事件程序。如当打开工作簿时触发某个程序的运行,打开工作簿的动作就是一个事件。例:下图中就是事件程序,事件程序,Yard of Choice,代码结构,当选定对象所对应的事件后,代码窗体中会自动给出事件过程Private Sub Worksheet_SelectionChange(ByVal Target As Range)。End Sub这个过程是VB

21、A自定义的事件过程,触发是在sheet中选择集改变时发生的,为了更好的理解,我们在程序中写入如下代码,用来显示在表单(sheet1)中点击某个单元格后自动显示行、列数。MsgBox “当前选中单元格是( & Target.Row & , & Target .Column & ),Yard of Choice,代码结构,前面分别讲解了模块程序、过程程序和事件程序。模块程序是只能放置在模块中的过程程序,可以将模块程序看作为一种特殊的过程程序,二者没有什么明显的区别。本节中将主要讲解过程程序与事件程序之间的区别,二者的具体区别有以下几点。过程程序的所有程序代码必须手动进行创建,而事件程序的开始和结束

22、的代码可以通过选择对象和对象的事件进行自动生成。过程程序通常由“宏”来调用执行,而事件程序只有在某个事件被触发时才会被执行。过程程序常与用户自定义的对象相关联,而事件程序则常与Excel本身存在的对象(如工作簿和工作表对象)相关联。,过程程序与事件程序的区别,Yard of Choice,自定义函数,自定义函数是指用户自己定义和编写的函数。通过使用自定义函数,可以在一定程度上扩充现有函数的功能,突破了系统现有函数的局限性,大大提高了系统的工作效率。本章将详细系统地讲解有关自定义函数方面的相关知识。在使用自定义函数之前,需要首先编写自定义的函数。编写自定义函数通常由编写自定义函数的代码和添加自定

23、义函数的说明等步骤组成。,Yard of Choice,自定义函数,自定义的函数可以放置在指定的对象(如工作表对象)或者模块当中。放置在模块中的函数可以在任何一个程序当中进行调用,而放置在对象代码窗口中的函数只能被本代码窗口中的程序调用。如果要编写在工作表公式中使用的函数,就必须将其添加到模块当中。自定义函数以Function开始,以End Function结束,具体的语法结构如下所示。Function 函数名称(自变量) 程序代码End Function,编写自定义函数代码,Yard of Choice,自定义函数,语法结构中的各项说明如下所示。函数名称:由字母、字符、数字和一些标点符号组成

24、。在命名时,第一个字符必须是字符,函数名称中不可以使用空格、%和#等一些特殊的符号。自变量:是指自定义函数的参数,自变量根据实际情况进行设置,在自定义函数中也可以不使用自变量。程序代码:是指与编写函数相关的程序代码。,Yard of Choice,自定义函数,使用自定义函数的具体意义有以下几个方面。(1)使程序代码更加的规范化,在一定程度上减少了冗余代码的产生。(2)弥补和扩充了系统自带函数的不足,增强了程序的功能。(3)增加了程序的可读性,便于程序的更新及维护。(4)提高了函数使用的灵活性,提高了系统的运行效率。,使用自定义函数的意义,Yard of Choice,EXCEL VBA 基础与

25、应用,第二章 EXCEL VBA,Yard of Choice,EXCEL VBA,EXCEL VBA 代码组成,EXCEL VBA 中的对象,EXCEL VBA 中的属性,对话框的相关操作(重点),应用程序设计(重点),EXCEL VBA 中的方法,Yard of Choice,EXCEL VBA 代码组成,Excel VBA中的程序代码是由对象、属性和方法等元素组成的,对象、属性和方法是代码的重要组成部分。因此在了解代码的含义和编制方法之前,应该首先了解对象、方法和属性的含义和用法。本节中将讲解这几个方面的相关知识。(对象.属性,对象.方法),Yard of Choice,Excel VB

26、A中的对象,自然界中的万事万物都可以看作是一个对象,如毛巾、汽车、高山、流水等。在Excel VBA当中,工作簿、工作表、单元格、图表等都是对象,此外,在Excel中还可以插入一个窗体和按钮等对象,这些也是Excel VBA中的对象。在VBA开发环境中的“对象浏览器”窗口中,可以查看Excel VBA中的全部对象,如图所示。,Yard of Choice,Excel VBA中的属性,描述对象的固有特征称为对象的属性。如毛巾有大小、颜色等属性,汽车有形状、颜色等属性,在Excel VBA当中,属性是Excel对象所具有的特征,如工作簿的大小、工作表的个数、列的高度和宽度、单元格的颜色、数值等。在

27、Excel VBA中,对象和属性中间用“.”分隔开,表示属性属于哪个具体的对象,对象与属性间的语句格式如下所示。对象.属性=属性值下面通过一个示例来具体讲解如何应用属性及设置属性的值。,Yard of Choice,Excel VBA中的方法,方法是指对对象执行的某种动作,从而完成某件事情或某个动作。如使汽车轮子转动使得汽车能够在公路上行驶,将冰块加热使其融化成水,这些都是对象方法的实例。在操作Excel对象中,打开与删除工作表,复制单元格等都是Excel VBA中方法的实例。“打开”与“删除”是对工作表对象的方法,“复制”是对单元格的方法。与属性和对象之间的关系一样,对象和方法之间也用“.”

28、分隔开,除此之外,有的方法还带有自变量,自变量与方法之间用空格分隔开。用方法操作对象的语法格式如下所示。对象.方法 自变量下面通过一个示例来具体讲解如何应用工作表对象中的Delete方法删除工作表对象。,Yard of Choice,对话框的相关操作,在操作应用软件时,经常会弹出各种各样的对话框,如打开文件时弹出打开文件对话框,保存文件时弹出是否保存成功的提示对话框等。本章中将再详细系统地讲解在Excel VBA中如何应用对话框来完成各种相关的操作。,Yard of Choice,对话框的相关操作,在Excel VBA当中,MsgBox函数对话框是最常用的对话框之一。MsgBox对话框主要用于

29、显示信息和提示信息,如打开工作表时提示一个欢迎使用的对话框,在改变单元格的内容时,弹出一个显示当前单元格内容的对话框。下面通过示例来讲解MsgBox对话框的两种使用方法。1用于信息提示在Excel VBA当中,通常使用MsgBox对话框来提示信息,用于提示当用户操作Excel时需要注意的操作。2用于显示数据信息在执行某些特殊的操作时,有时候可以将执行的结果通过提示对话框显示出来。使用户能够更加直观、更清晰地查看执行的数据结果。,MsgBox函数对话框,Yard of Choice,对话框的相关操作,在提示对话框中,提示内容和标题是对话框的重要组成部分。将弹出对话框内容分成两行进行显示,并且将提

30、示对话框的显示标题设置为“信息提示”。 Prompt: 提示信息 Buttons As VbMsgBoxStyle: 对话框的样式 Title:对话框标题 代码:MsgBox 这是对话框的内容提示区, , 提示信息,对话框内容与标题,Yard of Choice,对话框的相关操作,除了可以设置对话框的显示内容和标题之外,还可以在对话框中添加显示图标。在Excel VBA中,设置提示图标的格式如下所示。MsgBox 提示内容,提示图标代码 + 控制按钮代码,提示标题 例如:叹号提示图标代码 48 代码:MsgBox 这是对话框的内容提示区, 48, 提示信息,对话框提示图标,Yard of Ch

31、oice,对话框的相关操作,对话框根据控制按钮的不同有多种组合样式例如我们选择vbOKCancel代码:MsgBox 这是对话框的内容提示区, 48+vbOKCancel, 提示信息,对话框样式,Yard of Choice,对话框的相关操作,我们将上一节的代码做一些修改 如下代码:an = MsgBox(“这是对话框的内容提示区”, 48+vbOKCancel, 提示信息) MsgBox an代码中我们发现,MsgBox 是可以有返回值的,我们将返回值赋值给变量an,并用 MsgBox显示其值。 An的数值结果就是我们点击对话框相应控制按钮的反馈值,即点击OK后 an=1 ,点击Cancel

32、 后 an=2。,Yard of Choice,对话框的相关操作,我们结合上面讲的内容编写一段小程序(用Sheet1 中的SelectionChange 事件,选择sheet1中的单元格后触发)Private Sub Worksheet_SelectionChange(ByVal Target As Range) an = MsgBox(Clear Cells?, 48 + vbOKCancel, Please Select) If an = 1 Then Target.Clear End IfEnd Sub如果你点击“OK” 按钮,所选单元格内容将被删除。,Yard of Choice,对话

33、框的相关操作,InputBox函数对话框与MsgBox对话框有很大的区别。InputBox函数对话框通过在对话框中输入数值的方式向程序传递参数。本节中将详细讲解与InputBox函数对话框相关的一些知识。,InputBox函数对话框,Yard of Choice,对话框的相关操作,InputBox函数对话框的语句结构如下所示。变量=InputBox(“提示信息内容”,”标题”,默认值,左边距,上边距)语句中各个参数的含义如下所示。变量:用于返回输入对话框中的内容。提示信息内容:指的是对话框中的提示信息,与MsgBox函数中的“提示信息内容”参数相同。标题:指的是对话框的标题,如果该参数不为空,

34、则会替代对话框的默认标题“Microsoft Excel”。默认值:设置了此值,在没有指定输入信息的时候,对话框会默认输入该值。左边距与上边距:用于定位对话框在屏幕上的显示位置。在了解了InputBox函数的各项参数设置之后,就可以熟练应用该函数设置对话框了。,InputBox函数的参数设置,Yard of Choice,对话框的相关操作,代码:Private Sub Worksheet_SelectionChange(ByVal Target As Range) an = InputBox(Prompt contents, display information) Target.Cells.

35、Value = anEnd Sub,Yard of Choice,对话框的相关操作,在Excel VBA当中,使用Dialogs属性可以打开Excel内置对话框。Dialogs属性的语句结构如下所示。Application.Dialogs(参数值).Show在Excel中的常用对话框及其参数值如表所示。,Excel中的常用对话框,Yard of Choice,对话框的相关操作,在Excel VBA中,可以使用GetOpenFilename方法来调用“打开”对话框。GetOpenFilename方法的语句格式如下所示。变量=Application.GetOpenFilename函数实现的是在打开

36、工作簿后,单击工作表中的【打开】按钮,将弹出一个打开文件的对话框窗口,在窗口中选择要打开的文件之后,单击对话框中的【打开】按钮,将弹出一个提示对话框,显示打开文件的路径信息。Private Sub Worksheet_SelectionChange(ByVal Target As Range) an = Application.GetOpenFilename MsgBox an End Sub,使用GetOpenFilename方法,Yard of Choice,应用程序界面设计,前面章节讲解的内容主要是使读者了解如何使用Excel VBA语言操作Excel。从现在开始,将向读者逐步地讲解如何

37、使用Excel VBA开发应用程序。开发应用程序的首要任务就是设计应用程序界面,本节将主要讲解有关这方面的相关内容。,Yard of Choice,应用程序界面设计,对于决大多数用户而言,对于Excel的操作都是紧限于对Excel工作表中单元格的操作。在Excel中,用户直接面对的是Excel工作表,因此,在设计应用程序界面时,一定要从Excel工作表对象的角度去设计,这样,才能设计出符合用户需求的应用程序操作界面。然而,确切地去理解用户的需求和预测可能遇到的所有问题本身是件很难的事情,一般只有很有经验的程序员才能做出贴近用户需求的用户界面。友好的用户界面使得人们不用阅读用户手册或接受培训就能

38、使用应用软件。笔者并不要求读者设十出严格符合国际标准的应用程序界面,但是使设计出的用户的理想目标。界面能够使用户完成操作是应用程序界面设计的最低要求。一个良好的用户界面应该越直观越好,用户操作时不用参考用户手册或者咨询程序开发人员是应用程序界面设计,程序界面设计思路,Yard of Choice,应用程序界面设计,实现友好、方便地人机交互是应用程序界面设计的重要目的。对于很多用户而言,对应用程序界面的理解就是可以在单元格中填入数据的工作表,而根本不去思考单元格的代码形式或者单元格之间通信的原理。因此,一个优秀的软件不但应该提供稳定的数据处理,更应该提供友好的用户界面。对于Excel VBA开发

39、的应用程序而言,用户首先操作用户界面,用户界面会根据用户的操作决定执行相应的VBA代码,VBA代码操作Excel对象,Excel对象做出相应的改变,将最终的结果反馈给用户,这就是在Excel VBA中应用程序界面设计的基本原理。在后面的学习当中,读者应该按照这个基本原理去设计应用程序及应用程序的界面。,程序界面设计原理,Yard of Choice,应用程序界面设计,窗体是装载应用程序其他控件的载体,也就是说,应用程序中所涉及到的控件都是放置在窗体之上的。在Excel中,窗体称为UserForm对象,在窗体中可以放置按钮或文本框、下拉框、列表框等控件。在Excel VBA中添加窗体的步骤如下所

40、示。(1)新建一个Excel工作簿。(2)单击“开发工具”选项卡下的【Visual Basic】按钮,进入到VBA开发环境当中。(如果没有显示“开发工具”需要在Excel Option-常用-勾选“在功能区显示开发工具选项卡”),添加窗体,Yard of Choice,应用程序界面设计,(3)在工程窗口中选中要添加窗体的工程,然后单击“插入”菜单,在弹出的下拉菜单中选择“用户窗体”子菜单,此时将弹出一个用户窗体,同时会在VBA开发环境中添加了一个控件工具箱,如图所示。,Yard of Choice,应用程序界面设计,将窗体添加到VBA开发环境当中之后,就可以设置添加窗体的属性了。在设置窗体属性

41、之前,应该首先将“属性窗口”添加到VBA开发环境当中,添加的具体方法为:单击“视图”菜单,在弹出的子菜单中选择“属性窗口”子菜单,属性窗口将被添加到VBA开发环境当中,如图所示(也可以通过代码动态设置属性,在后面章节中具体讲解)。,设置窗体的属性,Yard of Choice,应用程序界面设计,应用程序的界面是由窗体和控件组成的。在添加完窗体并设置了窗体的相关属性之后,就可以向窗体上添加控件了。点击“工具箱”中的控件,然后在窗体中 选中位置后点击左键即可。,在窗体上添加控件,Yard of Choice,应用程序界面设计,当控件添加到窗体上之后,接下来的任务就是设置控件的各种属性。对于控件而言

42、,不同的控件其属性也可能不同,但是大多数的控件都有些共同的属性,如控件的大小(Width属性和Height属性)、是否隐藏(Visible属性)、是否锁定(Locked属性)等属性。以列表框(ListBox控件)为例,设置控件的几个常用属性。1BackColor属性2Locked属性3Visible属性4Enabled属性,设置控件的属性,Yard of Choice,应用程序界面设计,窗体除了具有其各自的属性以外,还有其各自的方法,在设计窗体时,经常用到的方法如以下几种。Load方法:该方法用于加载窗体,和Unload方法相对。Unload方法:卸载窗体,既从屏幕上也从内存中清除窗体。Sho

43、w方法:加载窗体并在屏幕上显示窗体。与Hide方法相对。Hide方法:从屏幕上隐藏窗体,与Unload方法不同,在使用该方法之后,在内存中仍然保存窗体的信息。Move方法:使用该方法可以移动窗体,在移动窗体时必须具有坐标值。,窗体的常用方法,Yard of Choice,应用程序界面设计,代码1:隐藏 显示窗体Private Sub CommandButton1_Click() UserForm1.Hide MsgBox “Form is hided! UserForm1.ShowEnd Sub代码2:移动窗体Private Sub CommandButton3_Click() UserFor

44、m1.Move 10, 10End Sub代码3:卸载窗体Private Sub CommandButton4_Click() Unload UserForm1End Sub,Yard of Choice,应用程序界面设计,窗体事件是对窗体操作时而引起程序运行的动作。如显示窗体、关闭窗体和单击窗体等动作。窗体事件所运行的程序称为窗体事件程序。本节中将讲解窗体事件中的两个重要的事件:窗体初始化事件和关闭窗体事件的使用方法。1窗体的初始化事件(将窗体背景颜色设置为蓝色)Private Sub UserForm_Initialize() UserForm1.BackColor = &HC00000

45、End Sub,窗体的常用事件,Yard of Choice,应用程序界面设计,2窗体的关闭事件Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) an = MsgBox(Are you sure!, vbOKCancel) If an = 2 Then Cancel = 1 End If End Sub,Yard of Choice,应用程序界面设计,标签控件主要用于显示说明性文本的内容,如标题、指示性文本和提示信息内容等。在将标签控件添加到窗体上之后,通过修改控件属性窗口中的Caption属性可以

46、设置其显示的文字信息。当然,在程序代码中设置控件的Caption属性也可以设置标签的显示文字信息。同其他控件一样,标签控件也具有其单击(Click)事件。通过该事件可以完成应用程序中某些特殊的功能。,标签,Yard of Choice,应用程序界面设计,代码:单击标签 标签背景透明、字体变为30、内容改变Private Sub Label1_Click() Label1.BackStyle = fmBackStyleTransparent Label1.Font.Size = 30 Label1.Caption = 欢迎你们学习EXCEL VBA! End Sub,Yard of Choice

47、,应用程序界面设计,文本框控件通常用于显示用户输入的信息。也可以使用文本框控件显示一些从数据库中的数据表中读取出来的信息。文本框通常情况下与标签控件一起配合使用,即在文本框控件之前通常添加一个标签控件,用于标识该文本框控件用途的功能。本示例实现的是在窗体上添加2个文本框控件,分别用于在文本框中输入“用户名称”、输入“密码信息”文本。代码:,文本框,Yard of Choice,应用程序界面设计,Private Sub CommandButton1_Click() If TextBox2.Text = 123456 Then MsgBox wellcome! & TextBox1.Text Else MsgBox invalidation password! End If End SubPrivate Sub UserForm_Initialize() 用*代替字符显示 TextBox2.PasswordChar = * End Sub,Yard of Choice,应用程序界面设计,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报