EXCELVBA方法参考手册.docx
- 文档编号:8953975
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:57
- 大小:149.04KB
EXCELVBA方法参考手册.docx
《EXCELVBA方法参考手册.docx》由会员分享,可在线阅读,更多相关《EXCELVBA方法参考手册.docx(57页珍藏版)》请在冰豆网上搜索。
EXCELVBA方法参考手册
EXCEL-VBA方法参考手册
ExcelVBA学习资料
函
数
参
考
手
册
摘自Excel2003VBA帮助
2006年12月29日
一些对象的应用方法
1、Collection对象
⑴ADD方法、⑵Item方法、⑶Remove方法
2、Debug对象
⑴Assert方法、⑵Print方法
3、Dictionary对象
⑴Add方法(Dictionary)、⑵Exists方法、⑶Items方法、⑷Keys方法、⑸Remove方法、⑹Remove方法(FileSystemObject对象)、⑺RemoveAll方法、
4、Err对象
⑴Clear方法、⑵Raise方法
5、File对象、Folder对象
⑴Copy方法、⑵Delete方法、⑶CreateTextFile方法(Folder对象)、⑷Move方法、⑸OpenAsTextStream方法(File对象)
6、Folders集合
⑴Add方法(Folders)
7、FileSystemObject对象
⑴BuildPath方法、⑵CopyFile方法、⑶CopyFolder方法、⑷CreateFolder方法、⑸CreateTextFile方法、⑹DeleteFile方法、⑺DeleteFolder方法、⑻DriveExists方法、⑼FileExists方法、⑽GetAbsolutePathName方法、⑾GetBaseName方法、⑿GetExtensionName方法、⒀GetFile方法、⒁GetFileName方法、⒂GetFolder方法、⒃GetParentFolderName方法、⒄GetSpecialFolder方法、⒅GetTempName方法、⒆MoveFile方法、⒇MoveFolder方法、(21)OpenTextFile方法
8、UserForm对象,UserForms集合对象
⑴Hide方法、⑵PrintForm方法、⑶Show方法、⑷WhatsThisMode方法
9、TextStream对象
⑴Close方法、⑵Read方法、⑶ReadAll方法、⑷ReadLine方法、⑸Skip方法、⑹SkipLine方法、⑺Write方法、⑻WriteBlankLines方法、⑼WriteLine方法
Add方法
添加一个成员到Collection对象。
语法
object.Additem,key,before,after
Add方法的语法具有下列对象限定符和命名参数:
部分
描述
object
必需的。
对象表达式,其值为“应用于”列表中的对象。
item
必需的。
任意类型的表达式,指定要添加到集合中的成员。
key
可选的。
唯一字符串表达式,指定可以使用的键字符串,代替位置索引来访问集合中的成员。
before
可选的。
表达式,指定集合中的相对位置。
在集合中将添加的成员放置在before参数识别的成员之前。
如果为一数值表达式,则before必须是介于1和集合Count属性值之间的值。
如果为一字符串表达式,则当添加一个被引用的成员到集合时,before必须对应于指定的key值。
可以指定before位置或after位置,但不能同时指定这两个位置。
after
可选。
表达式,指定集合中的相对位置。
在集合中将添加的成员放置在After参数识别的成员之后。
如果为一数值表达式,则after必须是介于1和集合Count属性值之间的值;如果为一字符串表达式,则当添加一个被引用的成员到集合时,after必须对应于指定的key值。
可以指定before位置或after位置,但不能同时指定这两个位置。
说明
before或after参数是字符串表达式或数值表达式,均须引用集合中现有成员,否则将导致错误发生。
如果指定的key和集合中现有成员的key发生重复,则也会导致错误发生。
1、应用于Collection对象
2、请参阅Item方法、Remove方法
Add方法示例
本示例使用Add方法将Inst对象(类Class1之示例,其中包含Public变量InstanceName)加到MyClasses集合对象中。
若要观察程序的运作,插入一个类模块,并在Class1的模块级中声明公用变量InstanceName(键入PublicInstanceName)来保存每个示例的名称。
类名就用缺省的Class1。
将下列代码复制与粘贴到某个窗体模块的Form_Load事件过程中。
DimMyClassesAsNewCollection'建立集合对象。
DimNumAsInteger'定义计数变量。
DimMsg
DimTheName'用来保存用户指定的名称的变量。
Do
DimInstAsNewClass1'建立Class1的新示例。
Num=Num+1'将计数变量加一,并让用户输入名称。
Msg="Pleaseenteranameforthisobject."&Chr(13)_
&"PressCanceltoseenamesincollection."
TheName=InputBox(Msg,"NametheCollectionItems")
Inst.InstanceName=TheName'将输入的名称存到对象的示例中。
'如果名称不是空字符串,则将该示例加到集合对象中。
IfInst.InstanceName<>""Then
'将该示例加到集合对象中。
MyClasses.Additem:
=Inst,key:
=CStr(Num)
EndIf
'清除对当前示例的引用,以准备下一个。
SetInst=Nothing
LoopUntilTheName=""
ForEachxInMyClasses
MsgBoxx.instancename,,"InstanceName"
Next
Add方法(Dictionary)
描述
添加一对相对应的关键字和条目到Dictionary对象。
语法
object.Addkey,item
Add方法的语法有如下几部分:
部分
描述
Object
必需的。
一个Dictionary对象的名字。
Key
必需的。
与所添加的条目相关联的关键字。
Item
必需的。
与所添加的关键字相关联的条目。
说明
如果该关键字已经存在,则产生一个错误。
1、应用于Dictionary对象
2、请参阅ADD方法(Folder)、Exist方法、Items方法、Keys方法、Remove方法、RemoveAll方法
Add方法(Folders)
描述
添加一个新的Folder到Folders集合。
语法
object.AddfolderName
Add方法的语法有如下几部分:
部分
描述
Object
必需的。
一个Folders集合的名称。
FolderName
必需的。
新添加的Folder的名称。
说明
如果folderName已经存在,则产生一个错误。
1、应用于Folders集合
2、请参阅Add方法(Dictionary)
Assert方法
有条件地在该方法出现的行上挂起执行。
语法
object.Assertbooleanexpression
Assert方法的语法有如下的对象限定符和参数:
部分
描述
object
必需的。
总是Debug对象。
booleanexpression
必需的。
一个值为True或者False的表达式。
说明
Assert调用只在开发环境中工作。
当模块被编译成为一个可执行的文件时,调用Debug对象的方法就会被忽略。
全部booleanexpression常常被计算。
例如,即使一个And表达式的第一部分被计算为False,整个表达式还要被计算。
1、应用于Debug对象
2、请参阅Print方法
Assert方法示例
下面的示例说明如何使用Assert方法。
示例需要一个带有两个按纽控件的窗体。
缺省的按纽名称是Command1和Command2。
当示例运行时,单击Command1按纽使得按纽上的文本在0和1之间进行切换。
单击Command2按纽可能不做任何事,也可能引起一个确认,应该执行哪一个操作取决于Command1按纽上所显示的值。
该确认将在最后一个语句执行之后使整个执行停止,并且Debug.Assert行被突出显式。
OptionExplicit
PrivateblnAssertAsBoolean
PrivateintNumberAsInteger
PrivateSubCommand1_Click()
blnAssert=NotblnAssert
intNumber=IIf(intNumber<>0,0,1)
Command1.Caption=intNumber
EndSub
PrivateSubCommand2_Click()
Debug.AssertblnAssert
EndSub
PrivateSubForm_Load()
Command1.Caption=intNumber
Command2.Caption="AssertTester"
EndSub
BuildPath方法
描述
追加一个名字到一个已经存在的路径。
语法
object.BuildPath(path,name)
BuildPath方法语法有如下几部分:
部分
描述
object
必需的。
始终是FileSystemObject的名字。
path
必需的。
要对其追加名字的已存在路径。
路径可以是绝对的也可以是相对的,不必指定一个已存在的文件夹。
name
必需的。
要追加到已存在路径上的名字。
说明
只有在需要时,BuildPath方法才在已存在路径和名字之间插入一个附加的路径分隔符。
1、应用于FileSystemObject对象。
Clear方法
清除Err对象的所有属性设置。
语法
object.Clear
objec总是Err对象。
说明
在处理错误之后使用Clear来清除Err对象,例如,在对OnErrorResumeNext使用拖延错误处理时就可使用Clear。
每当执行下列语句时就会自动调用Clear方法:
任意类型的Resume语句。
ExitSub,ExitFunction,ExitProperty
任何OnError语句。
注意当处理因访问其他对象产生的错误时,与其使用OnErrorGoTo,不如使用OnErrorResumeNext。
每一次与对象打交道之后都检查Err,则可消除代码访问对象时的含混之处。
可以确认是哪个对象将错误引入Err.Number中,也可以确认最初是哪个对象产生了这个错误(Err.Source中指定的对象)。
1、应用于Err对象
2、请参阅Description属性、Err对象、HelpContext属性、HelpFile属性、LastDLLError属性、Number属性、OnError语句、Raise方法、Source属性。
Clear方法示例
本示例使用Err对象的Clear方法将Err对象之数值属性重新设置为零,并将其字符串属性设置为零长度字符串。
如果在代码中省略Clear方法,则每完成一次循环便会显示一次错误信息(发生错误之后),不论程序中的计算结果是否真的有错误。
DimResult(10)AsInteger'声明数组变量
'其元素容易溢出
Dimindx
OnErrorResumeNext'将错误处理的方式改为“继续下一行”。
DoUntilindx=10
'下面计算若有错误发生,便显示错误信息。
Result(indx)=Rnd*indx*20000
IfErr.Number<>0Then
MsgBoxErr,,"ErrorGenerated:
",Err.HelpFile,Err.HelpContext
Err.Clear'清除Err对象的属性。
Else
indx=indx+1
EndIf
Loop
Close方法
描述
关闭一个打开的TextStream文件。
语法
object.Close
object始终是一个TextStream对象的名字。
1、应用于TextStream对象
2、请参阅Read方法、ReadAll方法、ReadLine方法、Skip方法、SkipLine方法、Write方法、WriteBlankLines方法、WriteLine方法。
Copy方法
描述
把一个指定的文件或文件夹从一个地方复制到另一个地方。
语法
object.Copydestination[,overwrite]
Copy方法语法有如下几部分:
部分
描述
object
必需的。
始终是一个File或Folder对象的名字。
destination
必需的。
文件或文件夹要复制到的接受端。
不允许有通配符。
overwrite
可选的。
Boolean值,如果该值为True(缺省),则已存在的文件或文件夹将被覆盖。
如果为False,则它们不被覆盖。
说明
对一个File或Folder,Copy方法的结果和执行FileSystemObject.CopyFile或FileSystemObject.CopyFolder操作的结果是一样的,在后者中,object所引用的文件或文件夹是作为参数传递的。
应当注意,后面的方法能够复制多个文件或文件夹。
1、应用于File对象、Folder对象
2、请参阅CopyFile方法、CopyFolder方法、Delete方法、Move方法、OpenAsTextStream方法
CopyFile方法
描述
把一个或多个文件从一个地方复制到另一个地方。
语法
object.CopyFilesource,destination[,overwrite]
CopyFile方法语法有如下几部分:
部分
描述
object
必需的。
object始终是一个FileSystemObject的名字。
source
必需的。
指明一个或多个要被复制文件的字符串文件说明,它可以包括通配符。
destination
必需的。
指明source中的一个或多个文件要被复制到的接受端的字符串,不允许有通配符。
overwrite
选项的。
Boolean值,它表示存在的文件是否被覆盖。
如果是True,文件将被覆盖;如果是False,它们不被覆盖。
缺省值是True。
注意如果destination具有只读属性设置,不论overwrite值如何,CopyFile都将失败。
说明
通配符只能用在source参数的最后一个路径部件。
例如,你可以在下面请况使用通配符:
FileSystemObject.CopyFile"c:
\mydocuments\letters\*.doc","c:
\tempfolder\"
但下面情况不能使用:
FileSystemObject.CopyFile"c:
\mydocuments\*\R1?
97.xls","c:
\tempfolder"
如果source包含通配符或destination以路径分隔符(\)为结尾,则认为destination是一个已存在文件夹,在其中复制相匹配的文件。
否则认为destination是一个要创建文件的名字。
不论是那种情况,当复制一个文件时,可能发生三种事件。
如果destination不存在,source得到复制。
这是通常的情况。
如果destination是一个已存在的文件,则当overwrite值为False时发生一个错误,否则,source的复制文件将试图覆盖已存在文件。
如果destination是一个目录,发生一个错误。
如果使用通配符的source不能和任何文件匹配,同样产生一个错误。
CopyFile方法停止在它遇到的第一个错误上。
不要试图回卷或撤消错误发生前所做的任何改变。
1、应用于FileSystemObject对象
2、请参阅Copy方法、CopyFolder方法、CreateFolder方法、DeleteFolder方法、MoveFolder方法
CopyFolder方法
描述
从一个地方递归地复制一个文件夹到另一个地方。
语法
object.CopyFoldersource,destination[,overwrite]
CopyFolder方法语法有如下几部分:
部分
描述
Object
必需的。
始终为一个FileSystemObject的名字。
source
必需的。
指明一个或多个被复制文件夹的字符串文件夹说明,可以包括通配符。
destination
必需的。
指明source中被复制文件夹和子文件夹的接受端的字符串,不允许有通配符。
overwrite
选项的。
Boolean值,它表示已存在的文件夹是否被覆盖。
如果为True,文件被覆盖。
如果为False,文件不被覆盖。
缺省值为True。
说明
通配符仅可用于source参数的最后一个路径部件。
例如你可以在下面情况使用它:
FileSystemObject.CopyFolder"c:
\mydocuments\letters\*","c:
\tempfolder\"
但不能在下面情况使用它:
FileSystemObject.CopyFolder"c:
\mydocuments\*\*","c:
\tempfolder\"
如果source包含通配符或destination以路径分隔符(\)为结尾,则认为destination是一个已存在的文件夹,在其中复制相匹配的文件夹和子文件夹。
否则认为destination是一个要创建的文件夹的名字。
不论何种情况,当复制一个文件夹时,可能发生四种事件。
如果destination不存在,source文件夹和它所有的内容得到复制。
这是通常的情况。
如果destination是一个已存在的文件,则发生一个错误。
如果destination是一个目录,它将尝试复制文件夹和它所有的内容。
如果一个包含在source的文件已在destination中存在,当overwrite为False时发生一个错误,否则它将尝试覆盖这个文件。
如果destination是一个只读目录,当尝试去复制一个已存在的只读文件到此目录并且overwrite为False时,则发生一个错误。
如果source使用的通配符不能和任何文件夹匹配,也发生一个错误。
CopyFolder方法停止在它遇到的第一个错误上。
不要尝试回卷错误发生前所做的任何改变。
1、应用于FileSystemObject对象
2、请参阅Copy方法、CopyFile方法、CreateFolder方法、DeleteFolder方法、MoveFolder方法
CreateFolder方法
描述
创建一个文件夹。
语法
object.CreateFolder(foldername)
CreateFolder方法有如下几部分:
部分
描述
object
必需的。
始终是一个FileSystemObject的名字。
foldername
必需的。
字符串表达式,它标识创建的文件夹。
说明
如果指定的文件夹已经存在,则发生一个错误。
1、应用于FileSystemObject对象
2、请参阅CopyFolder方法、CreateTextFile方法、DeleteFolder方法、MoveFolder方法。
CreateTextFile方法
描述
创建一个指定的文件名并且返回一个用于该文件读写的TextStream对象。
语法
object.CreateTextFile(filename[,overwrite[,unicode]])
CreateTextFile方法有如下几部分:
部分
描述
object
必需的。
始终是一个FileSystemObject或Folder对象的名字。
filename
必需的。
字符串表达式,它标识创建的文件。
overwrite
可选的。
Boolean值,表示一个已存在文件是否可被覆盖。
如果可被覆盖其值为True,其值为False时不能覆盖。
如果它被省略,则已存在文件不能覆盖。
unicode
可选的。
Boolean值,表示文件是作为一个Unicode文件创建的还是作为一个ASCII文件创建的。
如果作为一个Unicode文件创建,其值为True,作为一个ASCII文件创建,其值为False。
如果省略的话,则认为是一个ASCII文件。
说明
下面的代码举例说明如何使用CreateTextFile方法创建和打开文本文件。
SubCreateAfile
Setfs=CreateObject("Scripting.FileSystemObject")
Seta=fs.CreateTextFile("c:
\testfile.txt",True)
a.WriteLine("Thisisatest.")
a.Close
EndSub
对于一个已经存在的filename,如果overwrite参数是False或者没有提供,则发生一个错误。
1、应用于FileSystemObject对象、Folder对象
2、请参阅CopyFile方法、DeleteFile方法、OpenAsTextStream方法、OpenTextFile方法
Delete方法
描述
删除一个指定的文件或文件夹。
语法
object.Deleteforce
Delete方法语法有如下几部分:
部分
描述
object
必需的。
始终是一个File或Folder对象的名字。
force
可选的。
Boolean值,如果要删除具有只读属性设置的文件或文件夹,其值为True。
当其值为False时(缺省),不能删除具有只读属性设置的文件或文件夹。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EXCELVBA 方法 参考手册