Application Excel 方法属性
Application对象是Excel对象模型中最高层级的对象,代表Excel应用程序自身,也包含组成工作簿的许多部分,包括工作簿、工作表、单元格集合以及它们包含的数据。
Application对象包含:
应用程序设置和选项,许多选项与“选项”对话框中的选项相同。
返回顶级对象的方法,例如ActiveCell、ActiveSheet,等等。
本文使用VBA代码示例简要介绍了与Application对象相关的经常使用的对象、方法和属性,其中一些成员能够改变用户与Excel应用程序交互的方式,还能够改变应用程序的外观和式样。
熟悉Application对象能够让您扩展和调整Excel的功能,以满足自已的需求。
本文主要介绍的内容如下:
从Application对象中引用对象
Application对象相关的集合
∙ AddIns集合
∙ Columns集合和Rows集合
∙ Dialogs集合
∙ Sheets集合
Application对象相关的属性
∙ ActiveCell属性
∙ ActiveChart属性
∙ ActiveSheet属性
∙ ActiveWindow属性
∙ ActiveWorkbook属性
∙ RangeSelection属性
∙ ScreenUpdating属性
∙ Selection属性
∙ StatusBar属性
∙ ThisWorkbook属性
Application对象相关的方法
∙ FindFile方法和Dialogs集合
∙ GetOpenFilename方法
∙ GetSaveAsFilename方法
∙ InputBox方法
∙ Run方法
Application对象相关的事件
∙ 激活Application事件监视
使用Application对象执行其它任务
∙ 删除工作表而显示提示信息(DisplayAlerts属性)
∙ 无须提示用户而保存工作表(DisplayAlerts属性)
∙ 使用SendKeys方法发送信息到记事本
∙ 安排宏在指定的时间和间隔运行(OnTime方法)
Application对象的其它一些属性和方法
∙ Caller属性
∙ CutCopyMode属性
∙ Evaluate方法
vb计算器代码大全∙ OnKey方法
∙ ThisCell属性
∙ WorksheetFunction属性
∙ 改变光标显示(Cursor属性)
∙ 获取或改变Excel窗口的状态或大小(WindowState属性)
∙ 获取系统信息
∙ 自动隐藏公式栏(DisplayFormulaBar属性)
∙ 将Excel全屏显示(DisplayFullScreen属性)
∙ 获取Excel启动文件夹的路径(StartupPath属性)
∙ 检测Excel的版本(Version属性)
∙ 打开最近使用过的文档(RecentFiles属性)
∙ 文件对话框操作(FileDialog属性)
∙ 改变Excel工作簿的名称(Caption属性)
∙ 调用Windows的计算器(ActivateMicrosoftApp方法)
∙ 暂时停止宏运行(Wait方法)
∙ 重新计算工作簿(Calculate方法)
∙ 控制函数重新计算(Volatile方法)
∙ 获取重叠区域(Intersect方法)
∙ 获取路径分隔符(PathSeparator属性)
∙ 快速移至指定位置(Goto方法)
∙ 关闭Excel(Quit方法)
从Application对象中引用对象
使用Application属性返回Application对象。在引用应用程序之后,要访问Application对象下面的对象,则依次下移对象模型层级。
例如,下面的代码设置第一个工作簿的第一个工作表中的第一个单元格的值为20:
Application.Workbooks(1).Worksheets(1).Cells(1, 1) = 20
要引用该单元格,上述代码以Application对象开始,移至第一个工作簿,然后到第一个工作表,最后到达单元格。
下面的示例代码在另一个应用程序中创建一个Excel工作簿,然后打开该工作簿:
Set xl = CreateObject("Excel.Sheet")xl.Application.Workbooks.Open "newbook.xls"
可以使用许多属性和方法返回最常用的用户界面对象,例如活动工作表(ActiveSheet属性),而无须Application对象限定。例如,下面的代码:
Application.ActiveSheet.Name = "Monthly Sales"
可以替换为:
ActiveSheet.Name = "Monthly Sales"
然而,在使用简短的引用时必须小心,必须已经选择了正确的对象。如果已经使用诸如Worksheet对象的Activate方法选择了合适的工作簿和工作表,那么能够使用下面的代码引用第一个单元格:
Cells(1, 1) = 20
有一些实例必须使用Application限定引用。例如,OnTime方法、应用程序窗口的Width和Height属性。通常,处理Excel窗口外观的属性或者影响应用程序全部行为的属性需要Application限定,例如DisplayFormulaBar属性用于显示或隐藏公式栏。Calculation方法也需要限定。
Application对象相关的集合
本节介绍与Application对象相关的一些集合。
AddIns集合
AddIns集合代表当前在Excel中装载的所有加载项。就像遍历任何其它集合一样,可以列出应用程序中关于加载项的不同类型的信息。下面的示例列出当前在Excel中装载的加载项的路径和名称:
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集合由应用程序中所有的对话框组成。本文后面将详细介绍该集合。
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
∙ ScreenUpdating
∙ Selection
∙ StatusBar
∙ ThisWorkbook
ActiveCell属性
Application对象的ActiveCell属性返回Range对象,代表活动工作簿的活动工作表中的活动单元格。如果没有指定对象限定,那么该属性返回活动窗口中的活动单元格。
注意区分活动单元格和单元格选区。活动单元格是当前选区里的单个单元格,选区可能包含
很多单元格,但仅有一个单元格是活动单元格。
下面的示例改变活动单元格的字体格式。注意确保正在处理正确的单元格,Worksheets集合的Activate方法使工作表Sheet1为活动工作表。
Worksheets("Sheet1").Activate With ActiveCell.Font .Bold = True .Italic = True End With
ActiveChart属性
ActiveChart属性返回Chart对象,代表活动图表,无论该图表是嵌入式图表还是图表工作表。当嵌入式图表被选择或者被激活时,该图表是活动图表。下面的示例使用ActiveChart属性在工作表Monthly Sales中添加一个三维柱形图:
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 SubActiveSheet属性
ActiveSheet属性返回Worksheet对象,代表当前所选择的工作表(在顶部的工作表)。在一个工作簿中仅仅有一个工作表是活动工作表。下面的示例显示活动工作表的名字:
MsgBox "活动工作表的名字是" & ActiveSheet.Name
下面的示例由用户指定复制活动工作表的次数并复制活动工作表,将复制的工作表放置到工作表Sheet1的前面:
Sub CopyActiveSheet()
Dim x As Integer, numtimes As Integer
x = InputBox("请输入复制活动工作表的次数")
For numtimes = 1 To x '在工作表Sheet1的前面放置工作表副本
ActiveWorkbook.ActiveSheet.Copy Before:=ActiveWorkbook.Sheets("Sheet1")
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论