第3章+Excel+VBA对象模型_1更新.ppt
文本预览下载声明
Excel VBA 程序设计
刘 珺
邮箱: jliu@whu.edu.cn
武汉大学 计算机学院
第一部分 Excel VBA开发平台概述
第二部分 VBA基础知识
第三部分 Excel VBA对象模型
第四部分 用户界面设计
主要内容
基本概念(对象、属性、方法、事件)
Excel的对象层次模型和常用对象
集合对象
对象变量的定义和赋值
对象数组的定义和赋值
使用Range对象
使用Application对象
使用Workbook对象
使用Worksheet对象
第三部分 Excel VBA对象模型(1)
基本概念(对象、属性、方法、事件)
VBA中的对象
VBA通过操作不同的对象来控制Excel,对象代表应用程序中的元素
Excel程序(Application)、工作薄(Workbook)、工作表(Worksheet)、单元格(Range)、图表(Chart)、窗体(Userform)等,都是对象
如:对象 Range(A1) 表示当前工作表的A1单元格
每个对象可以是其他对象的组成部分,也可以由其他对象组成
对象具有属性、方法和事件三个要素
对对象的操作就是对对象的有关属性、方法和事件的操作
在Excel Vba程序设计中,就是通过读取或设置对象的属性、调用对象的方法、编写事件过程来操作Excel
对象的属性
什么是对象的属性
每个对象都有特性,称为对象的属性(找名词和形容词)
如:汽车对象有颜色,型号等属性
引用方式:对象名.属性
如:Range(A1).Value 表示单元格的值属性(默认属性)
设置对象的属性值
对象.属性=属性值
如: Range(A1).Value=100 把100写入A1单元格
如:Range(A2:H8).Formula = =Rand() 为区域 A2:H8 中的每个单元格设置公式,用随机数字填充该区域
读取对象的属性值
变量=对象.属性
如: a=Range(A1).Value 把A1单元格的值赋给变量a
工作表的.name属性和 .codename属性的区别
每张工作表都有两个名字
工作表名(name):工作表标签上显示的名称(如“示例2”、“成绩表”、“Sheet1”等),工作表名称是显性的
代码名(codename):代码名在工作表窗口看不到(如Sheet1、Sheet2……、表一 ),代码名是隐性的
分别对应着工作表的属性窗口的Name框和 (名称) 框
两个名字的区别
工作表名可以随意修改
工作表标签处修改,或通过属性窗口修改
用VBA语句来修改,如Sheets(1).Name=abc
代码名不能用VBA代码修改,必须通过属性窗口修改
工作表的.name属性和 .codename属性的区别
在立即窗口分别输入
Print Worksheets(1).name
Print Worksheets(3).name
Print Worksheets(示例3).codeName
Print sheet3.name
观察结果
.name属性,显示相应的工作表名
.codename属性,显示相应工作表的代码名
Worksheets 表示当前工作簿中所有普通工作表的集合
Worksheets(n)表示Worksheets集合里的第n个工作表
Worksheets(“示例3”)表示Worksheets集合里名称为“示例3”的工作表
sheet3.name表示代码名是“sheet3”的工作表的显式名称
示例1:取得活动工作表窗口的宽度和高度值,并重设窗口大小
Sub 设置窗口大小()
Dim w As Single, h As Single 声明变量
w = ActiveWindow.Width 获得活动窗口宽度
h = ActiveWindow.Height 获得活动窗口高度
MsgBox 当前窗口的宽度为: w _
高度为: h 。, vbOKOnly, 提示
ActiveWindow.WindowState = xlNormal 设置窗口状态
ActiveWindow.Width = 300 设置窗口宽度
ActiveWindow.Height = 300 设置窗口高度
End Sub
把红色的行用with语句改写,该怎么改?
对象的属性示例
对象的方法
什么是对象的方法
每个对象都有方法,方法就是在对象上执行的某个动作(找动词)
方法是对象本身包含的函数或过程,用于完成特定的功能
如Range对象有一个方法是Select,作用是选中指定的Ra
显示全部