Microsoft Excel VBA对象模型一览
excelvba常用操作对象汇总(办公室职场必备)
EXCEL VBA 常用操作对象汇总(办公室职场必备)导语:在VBA 中主要通过对EXCEL 表格对象的值以及属性进行修改,来达到我们想要的数据处理效果,今天着重介绍一下在日常工作中常用的几个EXCEl 对象。
熟练掌握这几个对象后,应对一些复杂的、庞大的数据处理工作时绰绰有余了。
常用的对象有这么几个:Workbooks 对象,简单的说,我们打开一个.xls 文件,就是一个Workbooks 对象。
主要又这几个用法:Workbooks.Open, 打开文件。
相当于“文件-> 打开”命令。
用法:Workbooks.Open FileName:="D: 今日头条?80502Excel 演示.xls"Workbooks.Open "D: 今日头条?80502Excel 演示.xls"Workbooks.Add 。
新建一个空白的工作簿,相当于“文件-> 新建”命令。
Workbooks.Save。
保存文件。
常用在关闭文件之前,功能和Ctrl+S 相同。
Workbooks.Close 。
关闭文件。
用法:Workbooks(1).CIose SaveChanges:=False关闭工作簿,并且不保存,改为True 则是保存并关闭。
下面是打开文件,然后修改文件,并保存。
Sub 打开修改文件并保存()Path = "D:今日头条Excel VBA 培训A计划.xls"Workbooks.OpenFileName:=PathSheets(1).ActivateCells(1, 1) = " 今日头条"Cells(1, 1) = " 宋体"ActiveWorkbook.SaveActiveWorkbook.CloseEnd Sub 小结,与Workbook 类似的两个对象还有ThisWorkbook 和ActiveWorkbook ,这两个用法基本和Workbooks 类似。
Excel VBA窗体对象模型
属性
Accelerator AutoSize BackColor BackStyle BorderColor BorderStyle Caption ControlTipText Enabled TextBox 文本框控件
属性
Font ForeColor Height HelpContextID Left MouseIcon MousePointer Picture PicturePosition
UserForm 窗口
属性
BackColor BorderColor BorderStyle Caption Cycle DrawBuffer Enabled Font ForeColor Height HelpContextID Label 标签控件
属性
KeepScrollBarsVisible Left MouseIcon MousePointer Picture PictureAlignment PictureSizeMode PictureTiling RightToLeft ScrollBars
HelpContextID InsideHeight InsideWidth KeepScrollBarsVisible LayoutEffect Left Top MouseIcon MultiLine Name Object OldHeight OldWidth OldLeft OldTop
CommandButton 命令按钮控件
属性
AutoSize AutoTab AutoWordSelect BackColor BackStyle BorderColor BorderStyle BoundColumn CanPaste ControlSource ControlTipText CurLine CurTargetX CurX DragBehavior DropButtonStyle Enabled EnterFieldBehavior EnterKeyBehavior
《VBA编程及应用基础》教学课件—05Excel 的VBA对象
RANGE对象的常用属性
Columns
表示指定单元格区域中的所有列 可用 Columns(index) 表示单元格区域中的某列 例如,下面代码将 B2:D4 区域第一列中每一单元格的值置为0:
ThisWorkbook.ActiveSheet.Range("B2:D4").Columns(1).Value = 0
RANGE对象的常用属性
End
表示包含源区域的区域尾端的单元格,语法为:End(Direction), 其中 Direction 有4个取值:xlDown、xlToRight、xlToLeft、xlUp
例如,下面代码将选定区域从单元格 B4 延伸至第四行最后一个 包含数据的单元格
Worksheets("Sheet1").Activate Range("B4", Range("B4").End(xlToRight)).Select
RANGE对象的常用属性
Offset
表示相对于指定区域偏移若干行和列以后的区域,使用方法: Offset(row, column),其中 row 和 column 分别为行偏移量和列偏 移量
例: ActiveCell.Offset(3, 3).Value = 5
实践1
在 公务员考试成绩表 工作簿中,假定学生均已获得相应 学位,试编写一个宏,用 For Each…Next 循环遍历“学历” 列各学生的学历,然后在“学位”列填写其对应的学位。 学历学位对应关系如下表所示:
参考”主题
EXCEL 对象模型
在对象模型列表中,以复数形式陈列的表示的是一个集 合。集合是指一组相似的对象,例如 Workbooks 是一个 集合,而 Worksheets 是另一个集合
第3章+Excel+VBA对象模型_3
定义两个变量m、n,分别放两个数
定义两个变量differ、product,分别放差的绝对值和乘积 用MsgBox函数显示结果
18
Excel VBA 程序设计
第三部分 Excel VBA对象模型
Application.FindFile方法
作用:显示“打开”对话框并让用户打开一个Excel文件 语法: Application.FindFile 说明:
14
Excel VBA 程序设计
第三部分 Excel VBA对象模型
2. Application.InputBox方法
语法:InputBox(prompt, title, default, Left, Top, HelpFile, HelpContextID, Type)
Prompt 必需的。输入框的提示文本 Title 可选的。输入框的标题 Default 可选的。输入框中的默认值
17
Excel VBA 程序设计
第三部分 Excel VBA对象模型
2. Application.InputBox方法
课堂练习1:分别输入两个数,显示它们的差的绝对值和乘积
提示:
使用2次InputBox方法,将Type参数设为 1 “Application.”不可省略,否则无法使用参数Type
第三部分 Excel VBA对象模型
On Error语句
On Error 语句用来捕获错误,激活错误处理程序,即告诉 VBA当程序运行时发生了错误该怎么办,常见有三种方式: 1. On Error GoTo line
发生错误时,程序跳到line标号处执行(错误处理代码,必须在同一过 程中,否则出错) 发生错误时,程序跳到发生错误的下一条语句继续执行 发生错误时,显示错误提示信息并中断运行(不运行错误处理程序)
Excel_VBA常用对象剖析
使用Application对象
VBA操作 获取当前应用程序名称 立即窗口输入 ?
将 Excel 应用 程 序 标 题 改 为“My Application” 将 Excel 应用 程 序 标 题 改 回为“Microsoft Excel” 获取Excel.exe保存的文件 夹路径 退出
3
使用Application对象
Application对象的常用属性 获取对象的引用
ActiveWorkbook属性 ActiveSheet属性 ActiveCell属性 Workbooks属性 Sheets属性 Cells属性 Selection属性 WorksheetFunction属性
Worksheet 对象:代表一个工作表 Worksheets 对象:指定的或活动工作簿中所有 Worksheet 对象的集合 常用属性
Worksheet.Cells 作表中的所有单元格(不仅仅是当前使用的单元 格)。
Worksheet.Columns 属性:返回一个 Range 对象, 它代表活动工作表中的所有列
Application.Caption="My Application" Application.Caption="Microsoft Excel” ?Application.Path
Excel Application.Quit
Application 对象
ActiveSheet 属性 返回活动工作表。如果没有活动的工作表,则返回 Nothing。 Sub 活动工作表() Debug.Print "当前活动工作表是:"; End Sub
Excel VBA
划重点!告诉你什么是ExcelVBA对象模型及如何引用对象
划重点!告诉你什么是ExcelVBA对象模型及如何引用对象excelperfect标签:VBA,对象模型要编写Excel VBA程序,必须知道对象。
可以认为,VBA基于面向对象编程,这意味着VBA程序主要是在处理(或操控)对象。
因此,我们要掌握ExcelVBA编程,必须理解:1.什么是对象2.如何操控VBA对象3.Excel VBA对象模型刚开始接触对象和对象模型的朋友,可能会被一些概念搞糊涂,这是正常的,随着不断地学习和使用,你的理解会越来越深入,这些概念也会逐渐清晰起来。
基本说来,Excel VBA对象模型是编程时可以使用的对象的层次结构,它使得引用要操控的对象更容易。
对象层次结构如下:层级1:在最顶端,只有一个对象。
层级2:层次结构顶部的对象包含的一些对象。
层级3:层级2中的对象可能包含的一些对象。
层级4:层级3中的对象可能包含的一些对象。
…对象可能包含其他对象。
该过程会重复,直到到达不包含任何其他对象的对象。
通常,层次结构顶部的对象是Application对象,即层级1的对象是应用程序本身。
对于Excel来说,Application对象就是Excel本身。
Application对象包含其他VBA对象。
Excel的Application对象包含的一些主要对象为:•AddIns,包含所有的加载项对象。
•Windows,包含应用程序所有Window对象。
•Workbooks,包含所有Workbook对象。
这些VBA对象中的每一个又包含其他对象。
例如,Workbook对象中包含的一些VBA对象如下:•Charts,包含Chart对象。
•Names,包含Name对象•VBProjects,代表打开的项目。
•Windows,包含指定Excel工作簿中的Window对象。
•Worksheets,包含Worksheet对象。
同样,这些VBA对象包含其他对象。
例如Worksheet对象包含下列VBA对象:•ChartObjects,包含ChartObject对象。
Excel-VBA常用对象(Application、Workbook、Worksheet、。。。
Excel-VBA常⽤对象(Application、Workbook、Worksheet、。
⼀、对象模型在VBE中“帮助(H)”——“Microsoft Visual Basic 帮助(H) F1”——“Visual Basic 语⾔参考”——“函数” 或者在VBE下快捷键“F1”地址:https:///zh-cn/office/vba/api/overview/excel/object-model⼆、Application对象(Excel顶层对象)1、ScreenUpdating属性是否控制屏幕更新,False表⽰关闭屏幕更新,True表⽰打开屏幕更新设置ScreenUpdating=False 关闭屏幕更新,将看不到程序的执⾏过程,可以加快程序的执⾏速度,让程序显得更直观,专业。
⽰例(为关闭屏幕更新下,会弹出对话框):Sub InputTest()Cells.ClearContents '清除表中所有数据Range("A1:A10") = 100MsgBox"刚才在A1:A10输⼊数值100,你能看到结果吗?"Range("B1:B10") = 200MsgBox"刚才在B1:B10输⼊数值200,你能看到结果吗?"End Sub⽰例(关闭屏幕更新,看不到执⾏过程,程序最终执⾏完成才能看到最终结果)Sub InputTest()Cells.ClearContents '清除表中所有数据Application.ScreenUpdating = False'关闭屏幕更新Range("A1:A10") = 100MsgBox"刚才在A1:A10输⼊数值100,你能看到结果吗?"Range("B1:B10") = 200MsgBox"刚才在B1:B10输⼊数值200,你能看到结果吗?"Application.ScreenUpdating = True'恢复屏幕更新End Sub2、DisplayAlterts属性是否显⽰警告对话框,False为不显⽰,True为显⽰Sub delSht()Dim sht As WorksheetApplication.DisplayAlerts = False'不显⽰警告信息For Each sht In WorksheetsIf = Then'判断sht是不是活动⼯作表sht.Delete '删除sht代表的⼯作表End IfNextApplication.DisplayAlerts = True'恢复显⽰警告信息End Sub3、EnableEvents属性启⽤或禁⽤事件,False为禁⽤(不让事件发⽣),True为启⽤什么是事件?能被Excel认识的⼀个操作动作,例如“打开⼯作簿”、“关闭⼯作簿”等⽰例1:编写⼀个程序,当选中⼯作表的单元格时,⾃动在单元格中写⼊该单元格的地址End Sub⽰例2:选中活动单元格,记录对应单元格地址,并将活动单元格向下移动⼀个单元格Private Sub Worksheet_SelectionChange(ByVal Target As Range)Target.Value = Target.AddressApplication.EnableEvents = False'禁⽤事件Target.Offset(1, 0).Select '选中活动单元格下⾯的⼀个单元格Application.EnableEvents = True'启⽤事件End Sub4、WorksheetFunction属性使⽤WorksheetFunction调⽤Excel内置函数⽰例1:统计A1:A50单元格中数值⼤于1000的单元格有多少个?Sub CountTest()Dim mycount As Integer, rng As RangeFor Each rng In Range("A1:B50")If rng.Value > 1000Then mycount = mycount + 1NextMsgBox"A1:B50中⼤于1000的单元格个数为:" & mycountEnd Sub⽰例2:统计A1:A50单元格中数值⼤于1000的单元格有多少个?使⽤COUNTIF函数Sub CountTest()Dim mycount As Integermycount = Application.WorksheetFunction.CountIf(Range("A1:B50"), ">1000")MsgBox"A1:B50中⼤于1000的单元格个数为:" & mycountEnd Sub5、给Excel梳妆打扮Excel⼯作表界⾯相关命令Excel界⾯6、Application的常⽤属性三、Workbook对象Workbook⼯作簿Workbooks⼯作簿集合1、怎么引⽤⼯作簿引⽤⼯作簿,就是指明⼯作簿的位置及名称,共有两种⽅式⽅式⼀:利⽤索引号引⽤⼯作簿,Workbook.Item(3),这⾥的Item可以省略,即Workbook(3)⽅式⼆:利⽤⼯作簿名称引⽤,Workbook("Book1")或Workbook("Book1.xls"),如果本地⽂件显⽰拓展名(且⽂件已经保存),则⽂件名必须带拓展名,否则会报错。
ExcelVBA编程系列之对象模型
[分享]ExcelVBA编程系列之对象模型(2)初步理解和使用Excel对象模型[摘要]本文介绍了Excel对象模型及相关知识的基本概念,告诉您如何在VBA代码中使用与处理对象和集合。
主要包括Excel 对象模型的介绍,对象(集合)的概念和如何引用,设置对象变量,对象的方法和属性,对象的事件,用With…End With语句和For Each…Next语句处理对象和集合,以及如何获得帮助等基础知识。
说明对本文中的VBA语句和程序,您可以在将它们复制/粘贴或输入到您的VBE编辑器中的代码模块中后,进行测试。
具体方法为:在Excel工具菜单中选择“工具——宏——Visual Basic编辑器”命令或按Alt+F11组合键,打开VBE编辑器;然后再VBE编辑器中选择菜单“插入——模块”,将代码输入或粘贴到模块程序中,选择“运行宏”命令或按F5快捷键运行测试代码。
本文中的提示是您在编写或使用VBA代码时要注意的地方或给您的建议。
Excel对象模型简介在介绍Excel对象模型之前,让我们先来看一个简单的例子。
大多数工厂都是按这样的结构进行设置的:最上层为工厂总部,第二层次分为各个车间,在车间下面又分各班组。
就这样组织在一起,形成了一个工厂体系。
Excel对象模型与此相似,看起来复杂但实质上很简单清晰。
提示任何看起来复杂的东西其实都是由一些简单的部分组成的,或者其实它本身就比较简单。
Excel的对象模型是通过层次结构很有逻辑地组织在一起的,一个对象可以是其它对象的容器,可以包含其它的对象,而这些对象又包含其它的对象。
位于顶层的是Application对象,也就是Excel应用程序本身,它包含Excel中的其它的对象,如Workbook对象;一个Workbook对象包含其它一些对象,如Worksheet对象;而一个Worksheet对象又可以包含其它对象,如Range对象,等等。
这就是Excel的对象模型。
例如,Range对象在Excel对象模型中的位置为:Application对象Workbook对象Worksheet对象Range对象知道了某对象在对象模型层次结构中的位置,就可以用VBA代码方便地引用该对象,从而对该对象进行操作,并以特定的方式组织这些对象,使Excel能根据您的需要自动化地完成工作任务。
ExcelVBA解读(7):看看Excel的那些常用对象(续1)
ExcelVBA解读(7):看看Excel的那些常用对象(续1)对于熟悉Excel对象模型的人来说,也许会觉得到目前为止所讲的内容都太小儿科了。
确实,我也有这种感觉。
讲解这些基础的东西对于有一定Excel VBA编程功底的人来说,太枯燥了!所以,多些图文,多些趣味,赶走枯燥。
同时,既然是完整的系列文章,我还是得从最简单的东西开始,基于不熟悉Excel VBA的朋友,从基本的知识点讲解,由浅入深,慢慢地让他们在无形中就会步入Excel VBA编程技术的殿堂。
另一方面,作为一个完整的系列,也应该从基础讲起,慢慢地开始涉及到更深入更实际的知识和实践。
这会给熟悉Excel VBA的朋友带来一个完整的框架,为他们理清思路的同时,也会给他们带来原来忽视的东西。
随着系列的深入,后面会越来越精彩!下面继续讲解上一节中未讲完的内容:Excel VBA编程中常常使用的那些对象到底是什么,如何在代码中表示它们。
Worksheet对象Worksheet对象代表工作表。
工作簿中的每个工作表都是一个Worksheet对象,所有Worksheet对象构成了Worksheets集合。
我们使用下面的这一张图来完整解析Worksheet对象,如下图1所示。
图1工作表的名称如图1所示,上面是Excel主界面,下面是VBE界面。
新建工作簿后,Excel为我们提供了1-3个默认工作表(Excel 2013中默认为1个工作表)。
工作表名称默认为Sheet1、Sheet2、Sheet3。
我们可以在Excel中更改工作表的名称,例如图1中在工作表名称中双击,将默认的名为“Sheet1”的工作表改名为“完美Excel”。
再看看VBE界面,在左侧的工程资源管理器的“Microsoft Excel 对象”文件夹下,Excel有几个工作表,就会有几个相对应的工作表代码模块,图1中是3个。
在代码模块标识中,例如Sheet1(完美Excel),左侧的“Sheet1”是相应工作表的对象名称,右侧括号中的“完美Excel”是工作表名称,也就是我们在Excel主界面工作表标签中看到的名称。
Excel VBA对象模型
Application对象代表整个Microsoft Excel应用程序
本身,所有打开的工作簿都是属于一个Excel应用程 序,即一个Application对象。
通过Application对象提供的属性和方法,可控制
Excel应用程序的外观和状态。
8
Application对象的常用属性
工作簿是Excel文件的基础。对工作簿对象的操作
就是对Excel文件的操作。
13
Workbooks集合常用的属性和方法
Count属性 Add方法 Close方法 Open方法
14
Workbook对象的常用属性
ActiveSheet属性 FullName属性 Path属性 Name属性 Password属性 Saved属性 Sheets属性 Worksheets属性 Windows属性
15
Workbook对象的常用方法
Activate方法 Close方法 Save方法 SaveAs方法 SaveCopyAs方法
16
Workbook对象的常用事件
BeforeClose 事件 NewSheet事件 Open事件 SheetActivate事件 SheetDeactivate事件 WindowActivate事件 WindowDeactivate事件 WindowResize事件
第3章 Excel VBA对象模型
对象是系统中用来描述事物的一个基本单位。在
Excel中,对象代表应用程序中的元素,例如:工作 簿、工作表、单元格、图表和窗体等。
对象是由对象的属性和对象的方法所组成的一个
整体,这个整体不可分割。
VBA的对象模型介绍
VBA的对象模型介绍VBA(Visual Basic for Applications)是一种用于自动化任务和创建宏的编程语言,广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word和PowerPoint等。
在VBA中,对象模型是一个关键概念,它允许我们通过与应用程序中的对象进行交互和操作,实现自动化和定制化的功能。
本文将介绍VBA对象模型的基本概念及其在几个常用的应用程序中的应用。
1. VBA对象模型的基本概念VBA对象模型是一种层次结构,它描述了一个应用程序中的对象及其之间的关系。
在VBA中,每个应用程序都有一个顶级对象,称为Application对象,它是其他对象的容器。
每个对象都有一组属性和方法,我们可以使用这些属性和方法来操作对象,改变其状态或执行特定的功能。
2. Excel中的VBA对象模型在Excel中,VBA对象模型允许我们与工作簿、工作表、单元格和图表等进行交互。
以下是Excel中一些重要的对象:- Application对象:代表整个Excel应用程序,它是VBA对象模型的顶级对象。
- Workbook对象:代表一个Excel工作簿,可以包含多个工作表。
- Worksheet对象:代表一个Excel工作表,我们可以通过Worksheet对象来操作其中的单元格、列、行等。
- Range对象:代表一个单元格范围,可以通过它来访问和操作Excel中的数据。
通过使用这些对象的属性和方法,我们可以实现自动化的数据导入、计算、格式化和报告生成等任务。
3. Word中的VBA对象模型在Word中,VBA对象模型允许我们与文档、段落、表格和书签等进行交互。
以下是Word中一些重要的对象:- Application对象:代表整个Word应用程序,它是VBA对象模型的顶级对象。
- Document对象:代表一个Word文档,我们可以通过Document对象来操作其中的内容、样式和格式等。
(6)Excel对象模型
Range对象
如果引用的是Range对象的Cell属性,将返回指定单元格区域 中指定行与列相交的单元格。 例如:引用B3:F9单元格区域中的第二行与第三列相交的单元格, 可写成 Range("B3:F9").Cells(2, 3)
Range对象
Cell属性还可以用作Range属性的参数。 例如:引用活动工作表的A1:E10单元格,以下三种写法是等效的: Range(Cells(1, 1), Cells(10, 5)) Range("A1", "E10") Range(Range("A1"), Range("E10"))
Workbook对象与Workbooks集合
(3)Open 打开工作簿 Workbooks.Open Filename:=“F:\mybook.xls”
参数名称可以省略不写: Workbooks.Open “F:\mybook.xls”
Workbook对象与Workbooks集合
(4)Close 关闭工作簿 Workbooks.Close
Worksheet对象与Worksheets集合
还可以使用参数Count插入多张工作表: Worksheets.Add Count:=3 编写代码时,还可以同时使用多个参数
在第二张工作表后插入三张工作表
Sub ShtAddTest() Worksheets.Add after:=Worksheets(2), Count:=3
在VBE环境下使用“属性”窗口设置 在代码中设置属性
Excel VBA对象层次
Excel中的对象总是层次分明地组织在一起的,一个对 象可以包含其他对象,也可以包含在其他对象里。下图是 Excel的对象模型的整个层级结构。
Excel对象模型
Excel对象模型一、Excel对象模型为了在VB应用程序中调用Excel,必须要了解Excel对象模型。
Excel对象模型描述了Excel的理论结构,所提供的对象很多,其中最重要的对象,即涉及VB调用Excel最可能用到的对象有:二、调用Excel在VB应用程序中调用Excel,实质是将Excel作为一个外部对象来引用,由Excel对象模型提供能从VB应用程序内部来程序化操纵的对象以及相关的属性、方法和事件。
1、在VB工程中添加对Excel类型库的引用为了能从VB应用程序中访问Excel丰富的内部资源,使Excel应用程序运行得更快,需要在VB工程中添加对Excel类型库的引用。
具体步骤如下:a)从VB5“工程”菜单中选择“引用”;b)在“引用”对话框中选择Excel类型库:'Microsoft Excel9.0 Object Library';c)单击左边小方框,使之出现“√”符号;d)按“确定”退出。
注:要想在VB应用程序中调用Excel,你的计算机系统中必须安装Excel。
2、引用Application对象Application对象是Excel对象模型的顶层,表示整个Excel应用程序。
在VB应用程序中调用Excel,就是使用Application对象的属性、方法和事件。
为此,首先要声明对象变量:Dim VBExcel As Object或直接声明为Excel对象:Dim VBExcel As Excel.Application在声明对象变量之后,可用CreateObject函数或GetObject函数给变量赋值新的或已存在的Application对象引用。
a)用CreateObject函数生成新的对象引用:Set VBExcel=CreateObject ('Excel.Application')1/6页字符串“Excel.Application”是提供Excel应用程序的编程ID,这个变量引用Excel应用程序本身。
Excel Excel对象模型
Excel Excel对象模型Excel对象模型包括了128个不同的对象,其中从矩形、文本框等简单的对象到透视表,图表等复杂的对象等等。
另一方面,Excel对象模型包括了大量的对象、属性和方法,用户不可能记住所有的内容。
因此,只需熟悉其结构和组成,其他可以在开发的时候通过查看帮助或者对象浏览器来查找。
下面我们简单介绍一下其中最重要,也是用得最多的4个对象。
1.Application对象Application对象提供了大量属性、方法和事件,用于操作Excel程序,其中许多对象成员是非常重要的。
Application对象提供了一个很大的属性集来控制Excel的状态。
Application对象在Excel对象模型中位置最顶层,所以逻辑上所有Excel对象都需要使用Application对象来引用。
例如,我们引用第一个工作表中的A2和B2单元格,并将它们的和赋值于C2单元格。
其代码如下:Sub 引用单元格()a = Worksheets("sheet1").Range("A2")'将Sheet1工作表A2单元格中的值赋于ab = Worksheets("sheet1").Range("B2")'将Sheet1工作表B2单元格中的值赋于bApplication.Worksheets(1).Cells(2, 3) = a + b'将a加b的值赋于C2单元格End Sub在Sheet1工作表中,运行上述宏代码,即可得到C2单元格的值,如图10-22所示。
运行结果图10-2Excel运行宏为了书写方便,Excel允许对一些常用对象直接使用,不需要使用Application 对象引用。
例如ActiveSheet、Workbooks、WorkSheets等对象。
控制Excel状态和显示的属性Application对象提供了一个很大的的属性集来控制Excel的状态。
第六章 ExcelVBA常用对象与应用案例
计 算 中 心 编 制
3
上海大学
Shanghai University
Excel VBA常用对象
Private Sub CommandButton1_Click() „动态设置Excel的标题 Application.Caption = "动态设置Excel的标题" End Sub Private Sub CommandButton2_Click() „设置Excel标题为当前日期 Application.Caption = Date End Sub Private Sub CommandButton3_Click() „隐藏滚动条 Application.DisplayScrollBars = False End Sub Private Sub CommandButton4_Click() „显示滚动条 Application.DisplayScrollBars = True End Sub Private Sub CommandButton5_Click() „隐藏状态栏 Application.DisplayStatusBar = False End Sub Private Sub CommandButton6_Click() „显示状态栏 Application.DisplayStatusBar = True End Sub Private Sub CommandButton7_Click() „隐藏编辑栏 Application.DisplayFormulaBar = False End Sub Private Sub CommandButton8_Click() „显示编辑栏 Application.DisplayFormulaBar = True End Sub
使用Excel VBA编程,需要熟悉的常用对象
4.1 与Excel交流,需要熟悉的常用对象4.1.1 VBA编程与炒菜菜是怎么炒出来的冰箱里没有东西了,拿什么炒菜呢?巧妇难为无米之炊,再聪明伶俐的媳妇只守着空灶台也烧不出香喷喷的饭菜。
必须打开冰箱,取出瘦肉、葱、蒜……然后洗、切、炒,最后大勺一挥,一盘色香味美的鱼香肉丝才能摆上饭桌,如图4-1所示。
洗、切、炒……图4-1 炒菜的步骤编程就如烧菜,盘子里的菜就是按炒菜的方法对材料进行加工写出的程序。
VBA编程需要的材料就是VBA里的对象。
想要编写VBA程序,首先得懂得如何打开“冰箱”,在“冰箱”里找到合适的东西,取出并加工它。
1这个“冰箱”在Excel里称为对象模型。
◆什么是对象模型就像厨房里的东西一样,Excel中的对象总是层次分明地组织在一起,一个对象可以包含其他对象,同时也包含在其他对象里(参阅3.4.1)。
这种对象的排列模式称为对象模型。
Excel中的所有对象都可以在对象模型里找到。
◆怎么打开对象模型步骤1-2:在VBE中依次执行【帮助】→【Microsoft VisualBasic帮助】菜单命令,打开【Visual Basic帮助】窗口。
步骤3:单击【MicrosoftExcel对象模型】。
树型的结构,可以清晰地表现各个对象之间的包含关系。
单击某个对象,即可看到相应的帮助信息。
图4-2 打开对象模型24.1.2 VBA是怎么控制Excel的VBA通过操作不同的对象来控制Excel作为一个Excel用户,每天都在重复打开、关闭工作簿,输入、清除单元格内容的操作,这些都是在操作对象。
原来对象离我这么近,原来我每天都在用动作编程。
是的,我们每天都在用动作编程。
实际上,VBA程序就是用代码记录下的一个或一组操作,如想在Sheet1工作表的A1单元格输入数值100,完整的代码为:Application.Worksheets("Sheet1").Range("A1").Value = 100无论是用动作还是代码完成这个任务,都是在操作对象。
Excel VBA编程 FSO对象简介
CreateFolder()
创建新目录
CreateTextFile()
生成一个文件
DeleteFile()
删除一个文件
DeleteFolder()
删除一个目录
DriveExists()
检验盘符是否存在
Drives
返回盘符的集合
FileExists()
检验文件是否存在
FolderExists
检验一个目录是否存在
取得目录对象
GetParentFolderName
取得文件或目录的父目录名
GetSpecialFolder()
取得特殊的目录名
GetTempName()
生成一个临时文件对象
MoveFile()
移动文件
MoveFolder()
移动目录
OpenTextFile()
打开一个文件流
Excel VBA
在Excel VBA中,对文件的处理是通过FSO对其进行处理的。FSO即文件对象模型,它的全称是File System Object。该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,用户可以在应用程序中更简单、灵活地对文件系统进行各种操作。
1.文件系统对象
FSO对象模型包括对象,如表18-1所示。
表18-1 FSO包含的对象
对象
描述
Drive
允许收集关于系统所用的驱动器的信息,诸如驱动器有多少可用空间,其共享名称是什么,等等。请注意,一个“驱动器”并不一定是一个硬盘。它可以是CD-ROM驱动器、一个RAM盘等等。而且,驱动器不一定是和系统物理地连接,也可以通过一个LAN进行逻辑地连接。
Folder
TextStream
(6)Excel对象模型
Worksheet对象与Worksheets集合
(2)Delete 删除工作表
示例13. 删除名为"sheet1"的工作表
Sub ShtDeleteTest() Worksheets("sheet1").Delete
End Sub
Worksheet对象与Worksheets集合
(3)Copy 复制工作表 Worksheets("sheet1").Copy 该语句默认将工作表复制到新工作簿中,如果需要指定新复制 工作表的位置,需要给Copy方法设置参数before或者after。
Workbook对象与Workbooks集合
• 常用属性 (1)Name 文件名称
Workbook对象与Workbooks集合
(2)Path 文件路径
Workbook对象与Workbooks集合
(3)FullName 带路径的文件名称
例3 显示当前打开的Excel文件的文件名及路径
Workbook对象与Workbooks集合
注1:如果是新建的工作簿,在不保 存(即该文件不存在)的情况下,引 用时不能加扩展名 注2:如果是已经存在的文件,当系 统设置显示文件的扩展名时,引用时 必须使用扩展名
2.
使用序号引用
Workbooks (2)
Workbook对象与Workbooks集合
(2)ThisWorkbook 代码所在的工作簿 (3)ActiveWorkbook 当前活动的工作簿 ThisWorkbook与Activeworkbook的异同: 共同点:同是返回Workbook对象 不同点:ThisWorkbook是对代码所在的工作簿的引用; Activeworkbook是对当前活动的工作簿的引用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Characters 对象_代表包含文本的对象中的字符 Font 对象_包含对象的字体属性 Name 对象_代表单元格区域的定义名 Style 对象_代表区域的样式说明 Borders 集合对象_代表 Range 对象或 Style 对象的四个边框 Font 对象_包含对象的字体属性 Interior 对象_代表对象的内部 FormatConditions 集合对象_代表一个区域内所有条件格式的集合 FormatCondition 对象_代表条件格式 Hyperlinks 集合对象_代表工作表或区域的超链接的集合 Hyperlink 对象_代表一个超链接 Validation 对象_代表工作表区域的数据有效性规则 Comments 集合对象_单元格批注的集合 Phonetics 集合对象_指定的区域中所有 Phonetic 对象的集合 Phonetic 对象_包含单元格中特定拼音文本串的有关信息 Shapes 集合对象_指定的工作表上的所有 Shape 对象的集合 Shape 对象_代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片 LinkFormat 对象_包含链接 OLE 对象的属性 OLEFormat 对象_包含 OLE 对象的属性 Hyperlink 对象_代表一个超链接 Fillformat 对象_代表形状的填充格式 ControlFormat 对象 _包含 Microsoft Excel 控件属性 ConnectorFormat 对象_包含应用于连接符的属性和方法 TextFrame 对象_代表 Shape 对象中的文本框架 Adjustments 对象_它包含指定的自选图形、艺术字对象或连接符的调整值的集合 LineFormat 对象_代表线条和箭头格式 PictureFormat 对象_包含应用于图片和 OLE 对象的属性和方法 ShadowFormat 对象_代表形状的阴影格式 TextEffectFormat 对象_包含应用于艺术字对象的属性和方法 SmartTags 集合对象_SmartTag 对象的集合,这些对象代表指定给各个单元格的标识符 SmartTag 对象_代表分配给单元格的标识符
Sheets 集合对象_指定的或活动工作簿中所有工作表的集合,Sheets 集合可包含 Chart 对象或 Worksheet 对象 WorksheetFunction 对象_用作可从VB中调用的Excel工作表函数的容器 RecentFiles 集合对象_代表最近使用文件的列表 RecentFile 对象_代表最近使用的文件列表中的某个文件 SmartTagRecognizers 集合对象_代表在进行操作时,用信息类型标记数据的识别引擎 SmartTagRecognizer 对象_代表在 Microsoft Excel 中进行操作时,用信息类型标记数据的识别引擎 Speech 对象_包括与语音相关的方法和属性 SpellingOptions 对象_代表工作表的各种拼写检查选项 VBE 对象_该对象代表 Visual Basic 编辑器 ODBCErrors 集合对象_每一个 ODBCError 对象都代表一个由最近的 ODBC 查询返回的错误 ODBCError 对象_代表一个由最近的 ODBC 查询生成的 ODBC 错误 OLEDBErrors 集合对象_每一个 OLEDBError 对象都代表最近的 OLE DB 查询返回的一个错误 OLEDBError 对象_代表由上一次 OLE DB 查询所返回的 OLE DB 错误 DefaultWebOptions 对象_包含应用程序级的全局属性,当将文档另存为网页或打开网页时,Microsoft Excel 将使用这些属性 UsedObjects 集合对象_代表工作簿中已分配的对象 Watches 集合对象_指定应用程序中所有 Watch 对象的集合 Watch 对象_代表在重新计算工作表时跟踪的区域 Workbooks 集合对象_应用程序中当前打开的所有 Workbook 对象的集合 Workbook 对象_代表 Microsoft Excel 工作簿 Worksheets 集合对象_指定的或活动工作簿中所有 Worksheet 对象的集合 Worksheet 对象_代表一张工作表 Names 集合对象_应用程序或工作簿中所有 Name 对象的集合 Range 集合对象_代表某一单元格、某一行、某一列、某一选定区域 Areas 集合对象_代表选定区域内的子区域或连续单元格块的集合 Range 集合对象_代表某一单元格、某一行、某一列、某一选定区域 Borders 集合对象_代表 Range 对象或 Style 对象的四个边框 Border 对象_代表对象的边框 Errors 集合对象_表示某个区域的各种电子表格错误 Error 对象_代表区域的电子表格错误 Font 对象_包含对象的字体属性 InttomProperties 集合对象_由代表附加信息的 CustomProperty 对象组成的集合 CustomProperty 对象_代表标识符信息 SmartTagActions 集合对象_SmartTagAction 对象的集合,该集合代表用智能标记可执行的操作 SmartTagAction 对象成员_代表可用智能标记执行的操作 Protection 对象_代表工作表可使用的各种保护选项类型 AllowEditRanges 集合对象_所有 AllowEditRange 对象的集合,这些对象代表受保护工作表上的可编辑单元格 AllowEditRange 对象_代表受保护的工作表上可进行编辑的单元格 UserAccessList 集合对象_代表受保护区域用户访问权限的 UserAccess 对象的集合 UserAccess 对象_代表对受保护区域的用户访问 Comments 集合对象_单元格批注的集合 Comment 对象_代表一条单元格批注 Shape 对象_代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片 CustomProperties 集合对象_由代表附加信息的 CustomProperty 对象组成的集合 CustomProperty 对象_代表标识符信息 HPageBreaks 集合对象_打印区域内水平分页符的集合 HPageBreak 对象_代表水平分页符 VPageBreaks 集合对象_打印区域中垂直分页符的集合 VPageBreak 对象_代表一个垂直分页符 HyperLinks 集合对象_代表工作表或区域的超链接的集合 HyperLink 对象 _代表一个超链接 Scenarios 集合对象_指定工作表上所有 Scenario 对象的集合 Scenario 对象_代表工作表上的一个方案 OLEObjects 集合对象_指定工作表中所有 OLEObject 对象的集合 OLEObject 对象_代表工作表上的一个 ActiveX 控件或链接或嵌入的 OLE 对象 Outline 对象_代表工作表上的分级显示 PageSetup 对象_代表页面设置说明 Graphic 对象_包括应用于页眉和页脚的图片对象的属性 QueryTables 集合对象_QueryTable 对象的集合 QueryTable 对象_代表一个利用从外部数据源(如 SQL Server 或 Microsoft Access 数据库)返回的数据生成的工作表表格 Parameters 集合对象_指定的查询表的 Parameter 对象的集合 Parameter 对象_代表一个在参数查询中使用的参数
PivotTables 集合对象_指定的工作表中所有 PivotTable 对象的集合 PivotTable 对象_代表工作表上的数据透视表 CalculatedFields 集合对象_由 PivotField 对象组成的集合,这些对象代表指定数据透视表中的所有计算字段 PivotField 对象_代表数据透视表中的一个字段 CalculatedMembers 集合对象_由指定的数据透视表中所有 CalculatedMember 对象组成的集合 CalculatedMember 对象_对于那些具有联机分析处理 (OLAP) 数据源的数据透视表,该对象代表它们的计算字段和计算项 CubeFields 集合对象_由基于 OLAP 多维数据集的数据透视表中的所有 CubeField 对象组成的集合 CubeField 对象_代表 OLAP 多维数据集中的层次结构或度量字段 TreeviewControl 对象_代表多维数据集字段的层次成员选择控件 PivotCache 对象_代表数据透视表的缓存 PivotFields 集合对象_指定的数据透视表中所有 PivotField 对象的集合 PivotField 对象_代表数据透视表中的一个字段 PivotFormulas 集合对象_代表数据透视表的公式的集合 PivotFormula 对象_代表在数据透视表中用于计算的公式 PiovtItems 集合对象_数据透视表字段中所有 PivotItem 对象的集合 PiovtItem 对象_代表数据透视表字段中的项目 ChartObjects 集合对象_指定的图表工作表、对话框编辑表或工作表上的所有 ChartObject 对象的集合 ChartObject 对象_代表工作表上的嵌入图表 Chart 对象_代表工作簿中的图表 PivotLayout 对象_代表数据透视图报表中字段的位置 AutoFilter 对象_代表对指定工作表的自动筛选 Filters 集合对象_由多个 Filter 对象组成的集合,这些对象代表自动筛选区域内的所有筛选 Filter 对象_代表单个列的筛选 Tab 对象_代表图表或工作表中的标签 Charts 集合对象_指定的或活动工作簿中所有图表工作表的集合 Chart 对象_代表工作簿中的图表 ChartArea 对象_代表图表的图表区 PlotArea 对象_代表图表的绘图区 Floor 对象_代表三维图表的基底 Walls 对象_代表三维图表的背景墙。此对象不是集合 Corners 对象_代表指定三维图表的各个角。本对象并非集合
Microsoft Excel 对象模型一览
对象和集合 Application 对象_代表整个 Microsoft Excel 应用程序 AddIns 集合对象_代表Excel的所有可用加载宏 AddIn 对象_代表已安装或尚未安装的单个加载宏 AutoCorrect 对象_包含 Microsoft Excel 的 AutoCorrect 属性(星期的大写名称、对第一第二个字母为大写的词的更正、自动更改清单等) Assistant 对象_代表“Microsoft Office 助手” AutoRecover 对象_代表工作簿的自动恢复功能 CellFormat 对象_表示单元格格式的搜索条件 Borders 集合对象_代表 Range 对象或 Style 对象的四个边框 Fon 对象_包含对象的字体属性 Interior 对象_代表对象的内部 COMAddIns 集合对象_COMAddIn 对象的集合,这些对象提供有关在 Windows 注册表中注册的 COM 加载项的信息 COMAddIn 对象_代表 Microsoft Office 宿主应用程序中的一个 COM 加载项 Debug 对象_Debug 对象在运行时将输出发送到 Immediate 窗口 Dialogs 集合对象_Excel 中所有 Dialog 对象的集合 Dialog 对象_代表内置的 Microsoft Excel 对话框 CommandBars 集合对象_代表容器应用程序中命令栏的 CommandBar 对象的集合 CommandBar 对象_代表容器应用程序中的一个命令栏 ErrorCheckingOptions 对象_代表应用程序的错误检查选项 LanguageSettings 对象_返回 Microsoft Office 应用程序中有关语言设置的信息 Names 集合对象_应用程序或工作簿中所有 Name 对象的集合 Name 对象_代表单元格区域的定义名 Range 集合对象_代表某一单元格、某一行、某一列、某一选定区域 Name 对象_代表单元格区域的定义名 Windows 集合对象_Excel 中所有 Window 对象的集合 Window 对象_代表一个窗口 Chart 对象_代表工作簿中的图表 Panes 集合对象_指定的窗口中所有 Pane 对象的集合 Pane 对象_代表窗口中的窗格 Range 集合对象_代表某一单元格、某一行、某一列、某一选定区域 仅对象