VBA编程之对象模型Word文档格式.docx
- 文档编号:15857459
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:8
- 大小:46.97KB
VBA编程之对象模型Word文档格式.docx
《VBA编程之对象模型Word文档格式.docx》由会员分享,可在线阅读,更多相关《VBA编程之对象模型Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
在本文中,将简略地描述这些对象及它们的部分方法和属性,使您对它们建立一个初步的印象。
后面的一系列文章将对它们进行详细的解析,帮助您应用它们。
Application对象
ExcelApplication对象代表Excel应用程序本身,该对象中的一些成员关系到您的应用程序行为的正确与否。
下面分别予以说明。
Application对象中有一些属性控制着Excel的状态和外观。
例如,我们经常在程序中看到或用到的ScreenUpdating属性,它的默认值为True,这使得Excel在调用每个方法后都会更新屏幕,极大地影响了程序的运行速度,因此,您可以在代码运行前将其设置为False,但是一定要记住在程序运行结束前将其设置为True,以恢复它的默认状态,Excel不会为您自动恢复它。
此外,Cursor属性控制着鼠标指针的外观;
EditDirectlyInCell属性决定您是否可以直接在工作表中编辑单元格,否则您将只能在工作表的公式栏中编辑单元格;
如果您把FixedDecimal属性设置为True,则您可以利用FixedDecimalPlaces属性来确定数值数据的小数位数;
设置Interactive属性可以决定您是否可以使用鼠标和键盘,若您将Interactive属性的值设置为False,则禁用鼠标和键盘,但在程序处理完后您一定要将其值重新设置为True;
若要决定当您按下Enter键后单元格的移动方向,您可以将MoveAfterReturnDirection属性的值设为xlDown(向下移动)、xlToLeft(向左移动)、xlToRight(向右移动)、xlUp(向上移动)。
有一些Application对象的属性可以返回对象。
例如,ActiveCell属性返回活动窗口中当前活动单元格的引用;
Sheets属性返回活动工作簿中Sheet对象的集合;
Workbooks属性则返回当前所有打开的工作簿的Workbook对象的集合。
Application对象也提供了许多允许您执行操作的方法。
例如,Calculate方法将允许您强制重新计算所有打开的工作簿、或者是特定工作簿、或者是特定的范围。
用Application对象所提供的属性和方法,您还可以处理Excel文件。
例如,DefaultFilePath属性用来获取或设置用于加载和保存Excel文件的路径;
FileDialog属性返回FileDialog对象,允许您选择一个文件并将其打开、或者选择一个文件的位置并保存当前工作簿、或者选择一个文件夹、或者选择一个文件名。
此外,Application对象还提供了GetOpenFileName和GetSaveAsFileName方法允许您选择一个要打开的文件的文件名。
Application对象还有一些专有的成员。
例如,WorksheetFunction属性返回的对象提供了Excel工作表函数,这些函数是VBA函数中所没有的;
Windows属性允许您可以打开、关闭和排列Excel对象窗口。
Application对象除了提供属性和方法外,它还拥有大量的事件。
例如,当任何一个表被激活时,会产生SheetActivate事件;
当任何工作表中的单元格发生变化时,SheetChange事件会发生;
当工作表上的选区改变时,SheetSelectionChange事件会发生;
若您停用任何工作表,则SheetDeactivate事件会发生。
同时,Application对象也提供了各种处理Window对象的行为的事件。
例如,当任何窗口被激活时,WindowActivate事件都会发生;
当任何窗口被停用时,WindowDeactivate事件会发生。
此外,Application对象还提供了当与任何Workbook对象交互时会发生的事件,例如,NewWorkbook事件发生在创建一个新的工作簿时;
当任何工作簿被停用时,WorkbookDeactivate事件会发生。
Workbook对象
Workbook对象代表了Excel中的一个工作簿,而在上面所介绍的Application对象中的许多属性也适用于特定的工作簿。
Workbook对象提供了大量的属性,其中一些是我们经常要用到的。
例如,Name属性返回工作簿的名称,FullName属性返回工作簿完整的路径名称,包括工作簿文件名,而Path属性则只返回工作簿路径部分。
又如,Workbook对象有一个Sheets属性,返回一个Sheet对象,该对象包含Sheet对象集合,其中每个对象可以是Worksheet对象,也可以是Chart对象。
Workbook对象也提供了大量的方法,其中您最有可能使用的方法有:
Activate方法激活一个工作簿,并且选择工作簿中的第一个工作表;
Close方法关闭一个指定的工作簿,可以选择是否保存对工作簿的修改;
Protect方法和UnProtect方法允许您保护或取消保护工作簿;
Save方法用于保存工作簿;
SaveAs方法保存工作簿并允许您指定名称、文件格式、路径等;
SaveCopyAs方法将工作簿的一个副本保存到文件中。
Worksheet对象
Worksheet对象代表了工作簿中的工作表,同样,它也提供了大量的成员,使我们能对工作表进行操作。
它的大多数属性、方法和事件与Application对象或Workbook对象所提供的成员的相同或相似。
Range对象
Range对象代表工作表中的单元格或单元格区域。
您在Excel中最常使用的就是Range对象,直接面对或操作的也是它。
例如,您对Excel中的单元格或单元格区域进行操作,都需要将其设置为一个Range对象,然后使用该Range对象的方法和属性,以完成对单元格或单元格区域的操作。
基本上,对Excel的大部分操作都会涉及到Range对象,可见Range对象是很重要的。
Range对象用途广泛,表达方式也灵活多样。
譬如,您可以对所选择的区域进行管理,可以在代码中引用Range对象所表示的区域或单元格,您甚至可以将各种技术组合起来,完成Excel应用程序现有功能所不可能完成的工作。
常用对象的集合
正如前面的文章所说,集合是指包含一组相似的或相关的对象的对象。
有了集合,我们就可以将一组相似或相关的对象当作单一的对象来引用,并且可以很方便地操作集合中的某一个对象。
通常,集合的名字都是单词的复数形式。
例如,Workbooks集合表示当前打开的所有Workbook对象的集合,Worksheets集合表示指定工作簿或当前工作簿中所有的Worksheet对象,Sheets集合不仅包含Workbook对象,也包含Chart对象。
同时,集合也是某一对象的属性,请您细细体味这句话。
结语
好了,这篇文章也该结尾了。
您看看,即使是最常用的对象,也涉及到如此繁杂的内容,但这些是我们必须要掌握和精通的,至少作为一名ExcelVBA编程人员应该如此。
我们使用对象,是通过设置对象的属性、或者获取对象的属性、或者使用对象的方法、或者应用对象的事件,来对对象进行操作,从而操作Excel的。
在接下来的文章中,我将通过示例对这些对象进行尽可能详细全面的介绍和总结归纳。
VBA中常用对象的访问
(一)
1.Range(单元格)对象
一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区(可以为连续的单元格,也可以是不连续的单元格)中选定的单元格,或者是多张工作表中的一组单元格。
引用方式
(1):
使用Range属性,格式如下:
Range(Cell1,Cell2),其中Cell1是必需的,必须为A1样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。
也可包括美元符号(即绝对地址,如“$A$1”)。
可在区域中任一部分使用局部定义名称,如Range("
A2:
LastCell"
),其中LastCell为已定义的单元格区域名称;
参数Cell2是可选的。
区域左上角和右下角的单元格。
例子:
SubRngSelect()
ActiveSheet.Range("
F4,B1:
C5"
).Select
EndSub
运行后,当前活动表的以下区域被选中。
如下图:
(2):
使用Cells属性返回一个Range对象,格式如下:
Cells(RowIndex,ColumnIndex),两个参数都是可选的,RowIndex-->
引用区域中行的序号,ColumnIndex-->
引用区域中列的序号。
如果缺省参数,Cells属性返回引用对象的所有单元格。
Cells属性的参数可以使用变量,因此经常应用于在单元格区域中循环。
SubCellSelect()
DimiCellAsInteger
ForiCell=1To
30Step2
ActiveSheet.Cells(iCell,1).Value=iCell
NextiCell
运行后,当前活动工作表的A1:
A30单元格中奇数行填入序号,这个是由循环决定的。
(3)使用offset属性,返回一个基于引用的Range对象的单元格区域,格式如下:
expression.Offset(RowOffset,ColumnOffset),参数expression是必需的,其返回值为一个Range对象。
RowOffset参数是可选的,分别表示区域偏移的的行数(正值、负值或0)。
正值表示向下偏移,负值表示向上偏移,默认值为0。
ColumnOffset参数是可选的,分别表示区域偏移的的行数(正值、负值或0)。
正值表示向右偏移,负值表示向左偏移,默认值为0。
SubOffsetSelect()
Sheet1.Range("
A1:
C3"
).Offset(2,3).Select
运行后,显示选中单元格偏移向下两行,向右偏移三列。
(4)使用Resize属性调整指定区域的大小,并返回调整大小后的单元格区域,格式:
expression.Resize(RowSize,ColumnSize),其中expression是必选参数,返回要调整大小的Range对象。
参数RowSize是可选的,新区域中的行数,缺省时表示该区域中的行数不变。
参数ColumnSize是可选的,新区域中的列数,缺省时表示该区域中的列数不变。
SubResize()
MsgBox"
这是原始区域"
Sheet1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA 编程 对象 模型
![提示](https://static.bdocx.com/images/bang_tan.gif)