27
Excel VBA 程程程程 第 3 第 Excel VBA 第第第第

Excel VBA 程序设计

Embed Size (px)

DESCRIPTION

Excel VBA 程序设计. 第 3 章 Excel VBA 对象模型. 基本概念. 对象 是系统中用来描述事物的一个基本单位。在 Excel 中,对象代表应用程序中的元素,例如:工作簿、工作表、单元格、图表和窗体等。 对象是由对象的 属性 和对象的 方法 所组成的一个整体,这个整体不可分割。 事件 是一个对象可以辨认的动作,可以编写代码针对此动作来做响应。 每个对象都有自己的类型,称为 类 。类抽象出所有对象的属性和方法,而对象是类的一个具体实例。. Excel 对象的使用. 读取属性值 变量名 = 对象名 . 属性名 设置属性值 - PowerPoint PPT Presentation

Citation preview

Page 1: Excel VBA 程序设计

Excel VBA程序设计第 3 章 Excel VBA 对象模型

Page 2: Excel VBA 程序设计

2

对象是系统中用来描述事物的一个基本单位。在Excel 中,对象代表应用程序中的元素,例如:工作簿、工作表、单元格、图表和窗体等。

对象是由对象的属性和对象的方法所组成的一个整体,这个整体不可分割。

事件是一个对象可以辨认的动作,可以编写代码针对此动作来做响应。

每个对象都有自己的类型,称为类。类抽象出所有对象的属性和方法,而对象是类的一个具体实例。

基本概念

Page 3: Excel VBA 程序设计

3

读取属性值变量名 = 对象名 . 属性名

设置属性值对象名 . 属性名 = 表达式

使用对象的方法对象名 . 方法名变量名 = 对象名 . 方法名称

事件过程

Excel对象的使用

Page 4: Excel VBA 程序设计

4

定义对象变量Dim < 对象名 > As < 类名 >

对象赋值语句Set < 对象 1> = < 对象 2>

Excel对象的使用

Page 5: Excel VBA 程序设计

5

使用集合集合是一种特定类型的对象,代表一组相同的对象。

使用集合时,可以在该集合中所有的对象上执行相同的操作。一个集合也可能是另一个对象的属性。

引用集合中的对象遍历集合中的对象集合的方法和属性Count 属性、 Item 方法、 Add 方法等

Excel对象的使用

Page 6: Excel VBA 程序设计

6

Excel 对象模型的层次结构。

Excel对象模型

Application 对象

Workbook 对象

Worksheet 对象

Range 对象

Page 7: Excel VBA 程序设计

【例】访问单元格 A1

Application.Workbooks(1).Worksheets(1).Range("A1").Value

隐含使用对象:在引用 Excel 对象时,可以从系统能够确定与所需对象的层次最相近的对象开始引用。Workbooks(1).Worksheets(1).Range("A1").Value

ActiveWorkbook.Worksheets(1).Range("A1").Value

Worksheets(1).Range("A1").Value

ActiveSheet.Range("A1").Value

Range("A1").Value

Excel对象模型

Page 8: Excel VBA 程序设计

8

Application 对象代表整个 Microsoft Excel 应用程序本身,所有打开的工作簿都是属于一个 Excel 应用程序,即一个 Application 对象。

通过 Application 对象提供的属性和方法,可控制 Excel 应用程序的外观和状态。

使用 Application对象

Page 9: Excel VBA 程序设计

9

Application 对象的常用属性获取对象的引用 ActiveWorkbook 属性 ActiveSheet 属性 ActiveCell 属性 Workbooks 属性 Sheets 属性 Cells 属性 Selection 属性 WorksheetFunction 属性

使用 Application对象

Page 10: Excel VBA 程序设计

10

Application 对象的常用属性控制 Excel 状态 DisplayFormulaBar 属性 DisplayScrollBars 属性 DisplayStatusBar 属性 StatusBar 属性 ScreenUpdating 属性 DisplayAlerts 属性 WindowState 属性

使用 Application对象

Page 11: Excel VBA 程序设计

11

Application 对象的常用方法 Quit 方法 OnTime 方法 InputBox 方法 GetOpenFilename 方法

使用 Application对象

Page 12: Excel VBA 程序设计

12

Excel 对象模型的层次结构。

Excel对象模型

Application 对象

Workbook 对象

Worksheet 对象

Range 对象

Page 13: Excel VBA 程序设计

13

一个工作簿对象( Workbook )就是一个 Excel文件,多个 Workbook 对象组成 Workbooks 集合。

工作簿是 Excel 文件的基础。对工作簿对象的操作就是对 Excel 文件的操作。

使用Workbook对象

Page 14: Excel VBA 程序设计

14

Workbooks 集合常用的属性和方法 Count 属性 Add 方法 Close 方法 Open 方法

使用Workbook对象

Page 15: Excel VBA 程序设计

15

Workbook 对象的常用属性 ActiveSheet 属性 FullName 属性 Path 属性 Name 属性 Password 属性 Saved 属性 Worksheets 属性 Windows 属性

使用Workbook对象

Page 16: Excel VBA 程序设计

16

Workbook 对象的常用方法 Activate 方法 Close 方法 Save 方法 SaveAs 方法 SaveCopyAs 方法

使用Workbook对象

Page 17: Excel VBA 程序设计

17

Workbook 对象的常用事件 BeforeClose 事件 NewSheet 事件 Open 事件 SheetActivate 事件 SheetDeactivate 事件 WindowActivate 事件 WindowDeactivate 事件 WindowResize 事件

使用Workbook对象

Page 18: Excel VBA 程序设计

18

Excel 对象模型的层次结构。

Excel对象模型

Application 对象

Workbook 对象

Worksheet 对象

Range 对象

Worksheet 对象表示 Excel 工作表。

Page 19: Excel VBA 程序设计

19

Worksheets 集合常用的属性和方法 Count 属性 Add 方法

使用Worksheet对象

Page 20: Excel VBA 程序设计

20

Worksheet 对象的常用属性 Cells 属性 Name 属性 Next 属性 Previous 属性 Range 属性 Visible 属性

使用Worksheet对象

Page 21: Excel VBA 程序设计

21

Worksheet 对象的常用方法 Activate 方法 Copy 方法 Delete 方法 Move 方法 Paste 方法 Protect 方法 Unprotect 方法

使用Worksheet对象

Page 22: Excel VBA 程序设计

22

Worksheet 对象的常用事件 Activate 事件 BeforeDoubleClick 事件 BeforeRightClick 事件 Change 事件 Deactivate 事件 SelectionChange 事件

使用Worksheet对象

Page 23: Excel VBA 程序设计

23

Excel 对象模型的层次结构。

Excel对象模型

Application 对象

Workbook 对象

Worksheet 对象

Range 对象

Page 24: Excel VBA 程序设计

24

一个 Range 对象代表一个单元格、一行、一列或多个单元格的集合。

使用 Range对象

Page 25: Excel VBA 程序设计

25

Range 对象的常用属性 Address 属性 Borders 属性 Font 属性 Height 属性 Width 属性 CurrentRegion 属性 Text 属性 Value 属性

使用 Range对象

Page 26: Excel VBA 程序设计

26

Range 对象的常用方法 Activate 方法 AutoFit 方法 Clear 方法 Copy 方法 Cut 方法 Insert 方法 Merge 方法 Select 方法

使用 Range对象

Page 27: Excel VBA 程序设计

27

The end