郑州电脑维修 Win7粉丝 网站地图
您的位置:IT服务网办公软件WPS浏览正文

【VBA教材】11.区分对象、属性与方法

2011-11-14 17:02:02 浏览次数:0 评论 0

【VBA教材】11.区分对象、属性与方法这篇文章的内容如下:

VBA中有四个最基本的概念:对象、属性、方法与事件。

鉴于ET 2009的事件还有部分BUG,关于事件的应用未处理完善,本章对其它三个概念进行讲解。

11.1 什么是对象

工作簿、工作表、单元格、批注、透视表、自选图形、名称等等都是对象,VBA正是用于处理这些对象的语言。

一个最简单的故事都一定有人物、事件、或者时间、地点。人物是故事的核心,那么VBA也相应的有对象、属性、方法和事件,其中对象是VBA的核心。

VBA对对象的操作语句格式总是遵循这样的格式:“对象.属性”、“对象.方法”或者“父对象.子对象.属性”……例如在下面的实例:

Sheets("工作表").Name——Sheets("工作表")是对象,Name是对象的属性

Workbooks(2).Close——Workbooks(2)是对象,Close是对象的方法

Range("a1:a100").Comment.Delete——Range("a1:a100")是父对象,Comment是子对象,Delete是方法

VBA中有数百个对象,在此不一一罗列,表11-1是常见的VBA对象,

表11-1 常见的VBA对象及含义

对象名

含义

Application

代表整个 Excel 应用程序。

Window

代表窗口

Worksheet

代表一个工作表

Sheets

指定的或活动工作簿中所有工作表的集合

ShapeRange

代表形状区域,它是文档中的一组形状

PivotTable

代表工作表上的数据透视表

Workbook

代表一个 Excel 工作簿

Shape

代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片

Range

代表某一单元格、某一行、某一列、某一选定区域,或者某一三维区域

Name

代表单元格区域的定义名。名称可以是内置名称(如Print_Area)或自定义名称

Chart

代表工作簿中的图表

Hyperlink

超级链接对象

CommandBarPopup

代表命令栏上的一个弹出式控件

CommandBar

代表容器应用程序中的一个命令栏

在VBA中,属性与方法不可以独立存在,一个完整的VBA语句通常包含一个或者多个对象。

11.2 什么是属性

属性是对象的外在与内在特征,诸如大小、颜色或屏幕位置、名字、路径等等,或某一方面的行为,例如对象是否可以激活、是否隐藏。

属性区分可读与可写,大部分属性是可读也可写的。利用Msgbox 函数或者获取其属性,也可以利用等号修改对象的属性值来改变对象的特性。例如:

Msgbox sheets(1).nam——获取第一个工作表对象的Name属性

Sheets(1).name=”ABC”——修改工作表的Name属性

如果需要获取某个对象的所有属性,通常借用VBA的自动成员列表来获取。例如获取工作表的所有属性,可以通过以下步骤实现:

1.单击菜单【插入】\【模块】;

2.在模块中全入以下代码:

Sub 获取工作表属性()

Dim sht As Worksheet

Set sht = Sheets(1)

sht.

End Sub

当输入到“Sht.”时,VBA会弹出一个下拉框,里面包括了工作表中的所有属性与方法。其中带手形图自标的是对象的图性,而另一类是方法。

\

图11.1 获取工作表的属性

11.3 什么是方法

方法是处理对象的过程。

方法是能执行的动作。它是一个动词,而对象是一个名词。但是初学者需要记住,对象与方法的表示在语法是与汉语语法是不同的。

“创建工作表”:创建是动词,表示方法,“工作表”是名词,代表对象。

在VBA中却需要对象在前,方法在后,示例如下:

worksheets.add:worksheets是工作表对象,add是方法,表示新建。

和前面所说的办法一致,在帮助中可以利用自动列出成员的功能获取到关于工作表的所有方法,见表11-2所示:

表4-2 worksheets方法一览

名称

说明

Add

新建工作表、图表或宏表。新建的工作表将成为活动工作表

Copy

将工作表复制到工作簿的另一位置

Delete

删除对象

FillAcrossSheets

将单元格区域复制到集合中所有其他工作表的同一位置

Move

将工作表移到工作簿中的其他位置

PrintOut

打印对象

PrintPreview

按对象打印后的外观效果显示对象的预览

Select

选择对象

在下面的实例中,包含了VBA中的多个对象、属性与方法:

______________________________________________________________

Sub 建立一个汇总表()

Dim sht As Worksheet

On Error Resume Next

Set sht = Worksheets("汇总表")

If Err

Set sht = Sheets.Add

sht.Move after:=Sheets(Sheets.Count)

sht.Name = "汇总表"

End If

End Sub

______________________________________________________________

以上过程中中涉及了两个对象:sheets对像和Err对象;

其中Sheets对象的Add方法表示添加一个工作表,Move方法表示将一个工作表移动位置;而Count属性则表示工作表的数量,该属性可读不可写,Name表示工作表的名称,该名称可读亦可写;

在本例中,判断了Err对象的Number属性是否等于0,但因该属性是Err对象的默认属性,所以编写代码时可以忽略。



本文地址:http://www.itfw5.com/office/WPS/10365.html
  • IT服务网为郑州市区提供郑州电脑上门维修服务;
    请自觉遵守相关政策法规,严禁发布色情/暴力/反动言论。

    相关广告

    WPS推荐文章