Excel Application操作指南

本文介绍了Excel的Application对象,包括其引用方法、对象集合、属性、方法和事件的使用,详细阐述了如何通过Application对象进行工作簿、单元格等的操作,并提供了具体的示例。
摘要由CSDN通过智能技术生成

概述

Application对象是Microsoft Office Excel 2007对象模型中最高级别的对象,表示Excel程序自身。Application对象提供正在运行的程序的信息、应用于程序实例的选项以及实例中打开的当前对象。因为它是对象模型中最高的对象,Application对象也包含组成一个工作簿的很多部件,包括如工作簿、工作表集合、单元格以及这些对象所包含的数据等。
Application对象包括:
  • 程序范围的设置和选项。这些选项大部分同“工具”菜单下的“选项”对话框里的内容相同。
  • 顶级对象返回的方法,如ActiveCell、ActiveSheet等。
在下面几节里,你将通过使用VBA代码示例学习到一些Application对象中经常使用到的对象、方法和属性。关于Application对象模型所有成员的详细资料,请参考 Application对象成员
 

Application对象中其它对象的引用方法

你可以使用Application属性返回Application对象。获取一个Application对象后,如需访问它下面的对象,可以在对象模型层级中往下移动。下面示例设置一个工作表的第一个单元格内容为20。
Application.Workbooks(1).Worksheets(1).Cells(1,1)=20
要表示一个单元格,上面的代码示例从Application对象开始,移到第一个工作簿,再移到第一个工作表,最后到这个单元格。
下面示例在另一个Excel程序中创建一个Excel工作簿对象,然后打开一个工作簿。
Set xl=CreateObject("Excel.Sheet") xl.Application.Workbooks.Open "newbook.xls"
不需要使用“Application”限定词,很多的属性和方法也可以直接被用来返回那些最常用的用户界面对象,如活动工作表 (ActiveSheet属性)。例如,除了使用Application.ActiveSheet.Name = “Monthly Sales”,你也可以使用ActiveSheet.Name = “Monthly Sales”。然而,当使用这个简便表示方法时必需小心,需要选择正确的对象。例如通过使用Worksheet对象的Activate方确定你选择了正确的工作簿和工作表后,你可以使用Cell(1,1)表示第一个单元格。
有几种情况你必需使用Application限定词。例如,OnTime对象(本文后面部分将讨论)需要这个限定词,还有程序窗口的Width和 Height属性。一般来说,用来处理Excel窗口的外观或影响程序全局行为的属性或方法需要使用Application限定词;例如, DisplayFormlaBar属性用来显示或隐藏公式栏,Calculation方法也需要限定词。

Application对象集合

这一节详细介绍一些和Application对象相关的集合。
AddIns集合
AddIns集合表示所有当前加载的Excel Add-in。你可以像枚举其它对象一样在你的程序中列举出关于add-in的不同类型信息。下面的示例列举出当前加载到Excel中的Add-in的路径和名称。
Sub ListAddIns() Dim myAddin As AddIn For Each myAddin In AddIns MsgBox myAddin.FullName Next End Sub
Columns和Rows集合
这两个集合表示活动工作簿中的列和行。分别使用它们选择指定的列和行。
Application.Columns(4).Select
这个语句选择D列,就像你通过点击用户界面中的列的顶部一样。
Application.Rows(5).Select
这个语句选择工作表中的第5行,就像你点击行的左边框一样。
Dialogs集合
Dialogs集合包括Excel程序中所有的对话框。将在本文中后面部分更详细地讨论Dialogs集合。
Sheets集合
Sheets集合返回指定或活动工作簿中所有工作表的集合。Sheets集合可以包含Chart或Worksheet对象。
下面示例打印出活动工作簿中所有的工作表。
Application.Sheets.PrintOut
这个示例循环工作簿中所有的工作表并打印出包含数据区域的任何工作表。
For iSheet = 1 To Application.Sheets.Count If Not IsEmpty(Application.Sheets(iSheet).UsedRange) Then Application.Sheets(iSheet).PrintOut copies:=1 End If Next iSheet

Application对象的属性

有很多的属性可以用来访问Excel 2007程序的各种对象,多得不能记住或在这里全部讨论。幸运的是只有一部分是你可能经常使用的。
  • ActiveCell
  • ActiveChart
  • ActiveSheet
  • ActiveWindow
  • ActiveWorkbook
  • RangeSelection
  • Selection
  • StatusBar
  • ThisWorkbook
下面的内容演示这些常用属性的使用方法。
ActiveCell属性
Application对象的ActiveCell属性返回一个表示活动工作簿中活动工作表的活动单元格的Range对象。如果你没有指定对象限定词,这个属性返回活动窗口的活动单元格。
注意区别活动单元格和选择的单元格。活动单元格是当前选择中的一个单元格。选择(Selection)可能包括一个单元格集合,但只有其中一个是活动单元格。
下面的示例改变活动单元格的字体格式。注意为了确保你操作正确的单元格,工作表集合的Activate方法让Sheet1成为活动工作表。
Worksheets("Sheet1").Activate With ActiveCell.Font .Bold = True .Italic = True End With
ActiveChart属性
ActiveChart属性返回表示活动图表的Chart对象,不管它是嵌入的图表还是图表工作表。在一个嵌入的图表被选择或激活时,它就是活动图表。下面的示例使用ActiveChart属性添加一个3维柱形图到月销售记录工作表中。
Sub AddChart() Charts.Add With ActiveChart .ChartType = xl3DColumn .SetSourceData Source:=Sheets("Sheet1").Range("B3:H15") .Location Where:=xlLocationAsObject, Name:="Monthly Sales" .HasTitle = True .ChartTitle.Characters.Text = Monthly Sales by Category End With End Sub
ActiveSheet属性
ActiveSheet属性返回一个表示当前选中的工作表(顶部工作表)的Worksheet对象。在一个工作簿中只有一个工作表能成为活动工作表。下面的示例显示活动工作表的名称。
MsgBox "The name of the active sheet is " & ActiveSheet.Name
下面的示例将活动工作表复制用户指定的次数并放置在Sheet1之前。
Sub CopyActiveSheet() Dim x As Integer x = InputBox("Enter number of times to copy active sheet") For numtimes = 1 To x ' Put copies in front of Sheet1. ActiveWorkbook.ActiveSheet.Copy _ Before:=ActiveWorkbook.Sheets("Sheet1") Next End Sub
ActiveWindow属性
ActiveWindow属性返回一个表示活动窗口(顶部窗口)的Window对象。下面的示例显示活动窗口的名称(Caption属性)。
MsgBox "The name of the active window is " & ActiveWindow.Caption
Caption属性作为活动窗口的名称允许你通过使用友好的名称而不是序号来获得窗口。
下面的示例选择并打印一个工作表,然后对第二个工作表重复此过程。
Sub PrintWorksheet() Application.ScreenUpdating = False Sheets("Sales").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("Expenses").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End Sub
在这个例子中,你可能疑惑为什么设置ScreenUpdating属性为False。当Excel执行一系列任务时,屏幕被更新并刷新很多次,这将导致屏幕闪烁。设置ScreenUpdating属性为False可以消除闪烁。另外,因为电脑处理器不需要暂停来刷新屏幕,这样也可以让大型程序运行得较快一点。
ActiveWorkbook属性
ActiveWork
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值