excelvba编程系列之对象模型

上传人:wm****3 文档编号:43387913 上传时间:2018-06-06 格式:DOC 页数:6 大小:31KB
返回 下载 相关 举报
excelvba编程系列之对象模型_第1页
第1页 / 共6页
excelvba编程系列之对象模型_第2页
第2页 / 共6页
excelvba编程系列之对象模型_第3页
第3页 / 共6页
excelvba编程系列之对象模型_第4页
第4页 / 共6页
excelvba编程系列之对象模型_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《excelvba编程系列之对象模型》由会员分享,可在线阅读,更多相关《excelvba编程系列之对象模型(6页珍藏版)》请在金锄头文库上搜索。

1、ExcelVBAExcelVBA 编程系列之对象模型编程系列之对象模型本文由 fxjyf 贡献doc 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。ExcelVBA 编程系列之对象模型 编程系列之对象模型(1)VBA 入门文章 整理了近两天 希望能给 VBA 初学者有所帮助 入门文章,整理了近两天 整理了近两天,希望能给 初学者有所帮助.Excel 2003 对象模型编程快速入门 摘要 本文全面概括地讲解了一些关于 Excel2003 对象模型编程的基础知识,包括创建 VBA 子程序和宏, 对象、方法、属性和集合的基本概念,如何使用事件、使用窗体创建对话框

2、等,为您提供了使用程序自动 化处理工作的基本方法。 阅读本文后,您应该对关键的编程概念和知识有所了解,并能开发一些简单实用的应用程序以解决工作中 遇到的实际问题。通过一个示例认识 Excel VBA 程序 首先,让我们看看下面的代码,在每行代码的前面都附有代码功能的解释。 Sub 隔行设置背景色() 声明常量值为 15,即灰色的颜色索引值 Const Gray = 15 选择工作表中的第 2 行,其中活动单元格为最左边的单元格 Range(“A2“).EntireRow.Select 开始循环.若活动单元格不为空,则重复循环, 直到活动单元格值为空时退出循环 Do While ActiveCe

3、ll.Value “ 将所选行背景色设置为常量值 Gray 所代表的颜色, 本例中为灰色即 15 所代表的颜色索引值色 Selection.Interior.ColorIndex = Gray 选择从活动单元格起向下的第 2 行 选择整行后,其活动单元格为最左边的单元格ActiveCell.Offset(2, 0).EntireRow.Select Loop End Sub 试试看,在 Excel 中运行上面的程序,只用短短的 6 行代码,就能迅速地将你当前工作表中每隔一行添加 背景色,使你的工作表更具有可读性。 通过 Excel 对象模型编程,可以: 定制 Excel,实现自动化操作,以满足

4、你特定的需要 添加额外的功能 节省时间和资源 提示 学习需要实践,将所学习到的知识通过实践才能真正理解和掌握。因此,边阅读边上机操作,才能达 到好的学习效果。认识 VBA 和宏 VBA 是 VB 整合到 Microsoft Office 应用程序中的一个版本, VBA 中创建的代码也称作宏, 在 宏是一系列的 VB 指令,通过在 VB 指令中使用 Excel 对象模型来执行 Excel 操作任务。 在 Excel 中,你可以通过自已写代码来创建宏,也可以通过宏录制器来创建宏。 创建宏 开启 Excel 2003,选择菜单“工具宏宏” ,出现的“宏”对话框。在“宏名”文本框中输入所创建宏的名 字

5、,如“我的第一个宏” ,单击“创建”按钮,Excel 将自动打开 VBE 编辑器。 缺省的 VBE 编辑器显示了 3 个窗口(可在“视图”菜单中控制是否显示),即: 代码窗口 窗口标题为“Book1模块 1(代码)” 。在该窗口中编写程序代码。也可在“工程窗口”中双击模 块名或对象名打开相应的代码窗口。 工程窗口 位于屏幕左侧上方,窗口标题为“工程-VBAProject” 。该窗口中显示了当前所有的 Excel 对象和 模块,方便查看和管理。如单击“Microsoft Excel 对象”前的加号将展开所有的对象,当前共有 4 个对象即 S heet1,Sheet2,Sheet3 和 ThisW

6、orkbook。 属性窗口 位于屏幕左侧下方,窗口标题为”属性-模块 1” 。该窗口显示了当前所选项目的属性设置。在这 里,所选项为模块 1,可在属性窗口中为模块 1 改名为一个合适的名字,如在名称文本框中,输入“我的第 一个模块”后按 Enter 键,则工程窗口中的模块名称和代码窗口标题名称也相应变化。 现在,在“我的第一个宏”程序中输入下面的代码: Sub 我的第一个宏() Dim ws As Worksheet Set ws = ActiveWorkbook.Worksheets.Add Range(“A1“).Value = “I am a student.“ End Sub 您先不需

7、要明白这些代码的含义以及它们如何工作,以后我们会讲解。 接下来,关闭 VBE 编辑器,返回 Excel 主界面(可单击 VBE 编辑器左上角的 Excel 图标或选择菜单命令来进 行此操作)。然后,选择菜单“工具宏宏” ,可看到在出现的“宏”对话框中已选取了“我的第一个宏” , 单击“执行”按钮,此时,一个新的工作表被创建,且在该工作表的单元格 A1 中自动输入文本“I am a stu dent.” 录制宏 除了在 VBE 编辑器中通过输入代码创建宏之外,您还可以通过宏录制器录制菜单命令、按键和其它操作来 创建宏。 首先,选择菜单“工具宏录制新宏” ,在弹出的“录制新宏”对话框中输入宏名,如

8、“年级” ;在“快捷键” 文本框中,输入使所录制的宏运行的快捷键,如 B;在“保存在”下拉框中选“当前工作簿” ;在“说明”文本框 中输入宏的功能描述,如“自动生成年级号” ,单击“确定”按钮,开始录制宏。此时,在工作表中出现一个如 下图 1 所示的悬浮的工具栏,有两个按钮,其中左边为“停止录制”按钮,右边为“相对引用”按钮。此主题相关图片如下:图 1然后,在单元格 A1 中输入“一年级” ,A2 中输入“二年级” ,单击“停止录制”按钮。 最后,测试刚录制的宏。清除工作表中的内容后,按 Ctrl+Shift+B 组合键,Excel 将运行刚才所录制宏,在 单元格 A1 和 A2 中自动输入“

9、一年级”和“二年级” 。 提示 关于宏安全性。当你打开含有宏程序的工作簿时,Excel 会检查该工作簿中是否含有宏,若有,则会 弹出“安全警告”对话框(在安全性级别设置为中的情况下),若点击“启用宏”按钮,宏将运行。注意,对于未 知宏,最好先使用杀毒软件确保无宏病毒后再运行。子程序 先看看刚才编写的代码: Sub 我的第一个宏() Dim ws As Worksheet Set ws = ActiveWorkbook.Worksheets.Add Range(“A1“).Value = “I am a student.“ End Sub 关健词 SubEnd Sub 开始和结束宏,其格式为:

10、Sub 宏名() End Sub 一个子程序由一组代码语句组成,以 Sub 开始,以 End Sub 结束。一个子程序不一定是宏。您能在一个子 程序中调用另一个子程序。如: Sub 我的另一个宏() 我的第一个宏 End Sub 如果运行“我的另一个宏”子程序,则调用”我的第一个子程序” ,添加一个单元格 A1 内容为”I am a studen t.”的新工作表。创建单独的子程序能更清晰地组织你的代码,更容易地处理通用过程。例如,若需创建并显示 3 个工作表, 则可将上面代码改写为: Sub 我的另一个宏() 我的第一个宏 我的第一个宏 我的第一个宏 End Sub 即将“我的第一个宏”子程

11、序运行三次,不仅实现了最终的目标,而且也简化了代码。对象、方法和属性 对象、 Excel 对象模型使用面向对象编程方式。听起来很高深,其实很简单,您只需了解对象、方法和属性三个基 本的概念,就可以先入门了。 对象,即某物;方法,即某物能做的事情;属性,即某物的特征。 例如,一台空调即为一个对象,空调能做的事情如制冷、制热、换气等是它的方法,而对空调的描述则是 它的属性,如空调的颜色为白色、尺寸大小等。 让我们来看看刚才程序中所使用的代码,并区分对象、方法和属性。 Set ws = ActiveWorkbook.Worksheets.Add Range(“A1“).Value = “I am a

12、 student.“ 这里有三个对象,即 ws 代表 Worksheet 对象,ActiveWorkbook 对象代表当前工作簿,Range 对象代表在 当前工作表中的单元格区域。 提示 Excel 对象模型就是我们所能使用来编制 Excel 程序的对象列表。 当第一次使用某对象变量时,以 Set 关键字开始,为该对象分配所需的内存空间,并可为对象变量命以合 适的名字,如上面的的 ws。 方法总是与对象相关联。如在“我的第一个宏”程序代码中包含一个 Add 方法,它与 ws 对象相关。使用方 法时,应在对象和方法之间添加一个句点,如 Worksheets.Add。在上面的代码中,使用 Add

13、方法在活动工作簿中添加了一个新的工作表。 属性也总是与对象相关联。在上面的代码中,包含一个属性 Value,它与 Range 对象相关。同方法一样, 使用属性时,也应在对象与属性之间添加一个句点,如 Range.Rowheight。 每个对象都是一种特定的对象类型,每类对象都有自已的一组方法和属性。在上面的代码中,ws 是一个 W orksheet 对象,有方法如 Visible,有属性如 Count。属于 Worksheet 对象的方法和属性,其它类型的对象 可能没有,反之,其它对象有的方法,Worksheet 对象不一定也有,如执行语句 Worksheet.Value=”Hello” 将会

14、出现错误,因为 Worksheet 对象没有 Value 属性。使用事件 先编写一个宏。按前面所述的方法,创建一个名为“考勤记录表”的宏程序,即在工作表菜单中选择“工具 宏宏” ,输入名称“考勤记录表” ,单击“创建”按钮,自动打开 VBE 编辑器,选中“模块 1” ,在工程属性 窗口的名称框中输入“考勤记录表” 。然后,在代码窗口中输入如下代码: Sub 考勤记录表() Dim ws As Worksheet Set ws = ActiveWorkbook.Worksheets.Add Range(“A1“).Value = “年级“ Range(“C1“).Value = “班级“ Ran

15、ge(“B3“).Value = “姓名“ Range(“D3“).Value = “考勤“ Range(“B4“).Value = “正常“ Range(“B5“).Value = “迟到“ Range(“B6“).Value = “早退“ Range(“B7“).Value = “缺课“ Range(“B8“).Value = “实到“End Sub 我们先设想一下,当你打开工作簿时,如果上面的程序能自动运行,生成你每天想要的表格,该多好啊! 这是可以实现的,你能使用对象事件来完成。当某事情发生在某对象上时,该对象的一个事件发生。例如, 当单击一个按钮时,一个 Click 事件发生在该按钮

16、对象上。当开启 Excel 时,Auto_Open 事件发生,因此, 要想当 Excel 打开时,某程序运行,则将该程序置于 Open 事件程序中即可。 打开 Excel 2003,开启 VBE 编辑器(可在工作表菜单工具宏中选择,也可按 Alt+F11 组合键),先创建 上面的“考勤记录表”宏程序。接下来,在工程窗口的 Microsoft Excel 对象模型中找到“ThisWorkbook”并双 击,打开标题为 ThisWorkbook 的代码窗口,可以看到在该窗口顶部有两个下拉框,点击左边的对象列表 下拉框,选择“Workbook” ,VBE 编辑器自动添加 Sub Workbook_Open 事件过程,该 Open 事件将在 Exc el 开启时自动运行。现在,在该事件过程中添加需要在 Excel 开启时自动运行的宏程序代码,本例中,要 使得当 Excel 工作簿打开时,“考勤记录表”程序自动运行以建立一张表单,代码如下: Private Sub Workbook_Open

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号