当前位置:文档之家› EXCEL VBA方法参考手册

EXCEL VBA方法参考手册

EXCEL VBA方法参考手册
EXCEL VBA方法参考手册

Excel VBA 学习资料

摘自Excel2003VBA帮助

2006年12月29日

目录

一些对象的应用方法 (4)

Add 方法 (5)

Add方法(Dictionary) (6)

Add 方法(Folders) (6)

Assert 方法 (7)

BuildPath 方法 (8)

Clear 方法 (8)

Close 方法 (9)

Copy 方法 (10)

CopyFile 方法 (10)

CopyFolder 方法 (11)

CreateFolder 方法 (12)

CreateTextFile 方法 (13)

Delete 方法 (14)

DeleteFile 方法 (14)

DeleteFolder 方法 (15)

DriveExists 方法 (15)

Exists 方法 (16)

FileExists 方法 (16)

FolderExists 方法 (17)

GetAbsolutePathName 方法 (17)

GetBaseName 方法 (18)

GetExtensionName 方法 (18)

GetFile 方法 (19)

GetFileName 方法 (19)

GetFolder 方法 (20)

GetParentFolderName 方法 (20)

GetSpecialFolder 方法 (21)

GetTempName 方法 (22)

Hide 方法 (22)

Item 方法 (23)

Items 方法 (24)

Keys方法 (24)

Move 方法 (25)

Move 方法(UseForm) (25)

1、应用于 (25)

2、请参阅 (25)

MoveFile 方法 (25)

MoveFolder 方法 (26)

OpenAsTextStream 方法 (27)

OpenTextFile 方法 (28)

Print 方法 (30)

PrintForm 方法 (31)

Raise 方法 (32)

Read 方法 (33)

ReadAll 方法 (33)

ReadLine 方法 (34)

Remove 方法 (34)

Remove 方法(FileSystemObject 对象) (35)

RemoveAll 方法 (35)

Show 方法 (36)

Skip 方法 (37)

SkipLine 方法 (38)

WhatsThisMode 方法 (38)

Write 方法 (38)

WriteBlankLines 方法 (39)

WriteLine 方法 (39)

一些对象的应用方法

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.Add item,key,before,after

说明

before 或after参数是字符串表达式或数值表达式,均须引用集合中现有成员,否则将导致错误发生。

如果指定的key 和集合中现有成员的key 发生重复,则也会导致错误发生。

1、应用于Collection 对象

2、请参阅Item方法、Remove方法

Add 方法示例

本示例使用Add方法将 Inst 对象(类 Class1 之示例,其中包含Public 变量 InstanceName)加到 MyClasses 集合对象中。若要观察程序的运作,插入一个类模块,并在 Class1 的模块级中声明公用变量 InstanceName(键入Public InstanceName)来保存每个示例的名称。类名就用缺省的 Class1。将下列代码复制与粘贴到某个窗体模块的 Form_Load 事件过程中。

Dim MyClasses As New Collection ' 建立集合对象。

Dim Num As Integer ' 定义计数变量。

Dim Msg

Dim TheName ' 用来保存用户指定的名称的变量。

Do

Dim Inst As New Class1 ' 建立 Class1 的新示例。

Num = Num + 1 ' 将计数变量加一,并让用户输入名称。

Msg = "Please enter a name for this object." & Chr(13) _

& "Press Cancel to see names in collection."

TheName = InputBox(Msg, "Name the Collection Items")

Inst.InstanceName = TheName ' 将输入的名称存到对象的示例中。 ' 如果名称不是空字符串,则将该示例加到集合对象中。

If Inst.InstanceName <> "" Then

' 将该示例加到集合对象中。

MyClasses.Add item := Inst, key := CStr(Num)

End If

' 清除对当前示例的引用,以准备下一个。

Set Inst = Nothing

Loop Until TheName = ""

For Each x In MyClasses

MsgBox x.instancename, , "Instance Name"

Next

Add方法(Dictionary)

描述

添加一对相对应的关键字和条目到Dictionary 对象。

语法

object.Add key, item

说明

如果该关键字已经存在,则产生一个错误。

1、应用于Dictionary 对象

2、请参阅ADD方法(Folder)、Exist方法、Items方法、Keys方法、Remove 方法、RemoveAll方法

Add 方法(Folders)

描述

添加一个新的Folder 到Folders 集合。

语法

object.Add folderName

说明

如果folderName 已经存在,则产生一个错误。

1、应用于Folders 集合

2、请参阅Add方法(Dictionary)

Assert 方法

有条件地在该方法出现的行上挂起执行。

语法

object.Assert booleanexpression

说明

Assert调用只在开发环境中工作。当模块被编译成为一个可执行的文件时,调用Debug对象的方法就会被忽略。

全部booleanexpression常常被计算。例如,即使一个And表达式的第一部分被计算为False,整个表达式还要被计算。

1、应用于Debug 对象

2、请参阅Print 方法

Assert 方法示例

下面的示例说明如何使用Assert方法。示例需要一个带有两个按纽控件的窗体。缺省的按纽名称是 Command1 和 Command2 。

当示例运行时,单击 Command1 按纽使得按纽上的文本在 0 和 1 之间进行切换。单击 Command2 按纽可能不做任何事,也可能引起一个确认,应该执行哪一个操作取决于 Command1 按纽上所显示的值。该确认将在最后一个语句执行之后使整个执行停止,并且 Debug.Assert 行被突出显式。

Option Explicit

Private blnAssert As Boolean

Private intNumber As Integer

Private Sub Command1_Click()

blnAssert = Not blnAssert

intNumber = IIf(intNumber <> 0, 0, 1)

Command1.Caption = intNumber

End Sub

Private Sub Command2_Click()

Debug.Assert blnAssert

End Sub

Private Sub Form_Load()

Command1.Caption = intNumber

Command2.Caption = "Assert Tester"

End Sub

BuildPath 方法

描述

追加一个名字到一个已经存在的路径。

语法

object.BuildPath(path, name)

说明

只有在需要时,BuildPath 方法才在已存在路径和名字之间插入一个附加的路径分隔符。

1、应用于FileSystemObject 对象。

Clear 方法

清除Err对象的所有属性设置。

语法

object.Clear

objec 总是Err对象。

说明

在处理错误之后使用Clear 来清除Err对象,例如,在对On Error Resume Next 使用拖延错误处理时就可使用Clear。每当执行下列语句时就会自动调用Clear 方法:

?任意类型的Resume语句。

?Exit Sub, Exit Function, Exit Property

?任何On Error 语句。

注意当处理因访问其他对象产生的错误时,与其使用On Error GoTo,

不如使用On Error Resume Next。每一次与对象打交道之后都检查Err,则可消除代码访问对象时的含混之处。可以确认是哪个对象将错误引入

Err.Number 中,也可以确认最初是哪个对象产生了这个错误(Err.Source 中指定的对象)。

1、应用于Err 对象

2、请参阅Description 属性、Err 对象、HelpContext 属性、HelpFile 属性、LastDLLError 属性、Number 属性、On Error 语句、Raise 方法、Source 属性。

Clear 方法示例

本示例使用Err 对象的Clear 方法将Err对象之数值属性重新设置为零,并将其字符串属性设置为零长度字符串。如果在代码中省略Clear方法,则每完成一次循环便会显示一次错误信息(发生错误之后),不论程序中的计算结果是否真的有错误。

Dim Result(10) As Integer ' 声明数组变量

'其元素容易溢出

Dim indx

On Error Resume Next ' 将错误处理的方式改为“继续下一行”。

Do Until indx = 10

' 下面计算若有错误发生,便显示错误信息。

Result(indx) = Rnd * indx * 20000

If Err.Number <> 0 Then

MsgBox Err, , "Error Generated: ", Err.HelpFile, Err.HelpContext Err.Clear ' 清除 Err 对象的属性。

Else

indx = indx + 1

End If

Loop

Close 方法

描述

关闭一个打开的TextStream 文件。

语法

object.Close

object始终是一个TextStream 对象的名字。

1、应用于TextStream 对象

2、请参阅Read方法、ReadAll方法、ReadLine方法、Skip方法、SkipLine方法、Write方法、WriteBlankLines方法、WriteLine方法。

Copy 方法

描述

把一个指定的文件或文件夹从一个地方复制到另一个地方。

语法

object.Copy destination[, overwrite]

说明

对一个File 或Folder,Copy 方法的结果和执行

FileSystemObject.CopyFile 或FileSystemObject.CopyFolder 操作的结果是一样的,在后者中,object所引用的文件或文件夹是作为参数传递的。应当注意,后面的方法能够复制多个文件或文件夹。

1、应用于File 对象、Folder 对象

2、请参阅CopyFile 方法、CopyFolder 方法、Delete 方法、Move 方法、OpenAsTextStream 方法

CopyFile 方法

描述

把一个或多个文件从一个地方复制到另一个地方。

语法

object.CopyFile source, destination[, overwrite]

说明

通配符只能用在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.CopyFolder source, destination[, ove r write]

说明

通配符仅可用于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)

说明

如果指定的文件夹已经存在,则发生一个错误。

1、应用于FileSystemObject 对象

2、请参阅CopyFolder 方法、CreateTextFile 方法、DeleteFolder 方法、MoveFolder 方法。

CreateTextFile 方法

描述

创建一个指定的文件名并且返回一个用于该文件读写的TextStream 对象。

语法

object.CreateTextFile(filename[,overwrite[,unicode]])

说明

下面的代码举例说明如何使用CreateTextFile 方法创建和打开文本文件。Sub CreateAfile

Set fs = CreateObject("Scripting.FileSystemObject")

Set a = fs.CreateTextFile("c:\testfile.txt", True)

a.WriteLine("This is a test.")

a.Close

End Sub

对于一个已经存在的filename,如果overwrite 参数是False 或者没有提供,则发生一个错误。

1、应用于FileSystemObject 对象、Folder 对象

2、请参阅CopyFile 方法、DeleteFile 方法、OpenAsTextStream 方法、OpenTextFile 方法

Delete 方法

描述

删除一个指定的文件或文件夹。

语法

object.Delete force

说明

如果指定的文件或文件夹不存在,则发生一个错误。

对于一个File 或Folder,Delete 方法的结果和执行

FileSystemObject.DeleteFile 或FileSystemObject.DeleteFolder操作的结果是一样的。

Delete 方法对于文件夹内是否有内容不做区别。不管指定的文件夹是否有内容,它都被删除。

1、应用于File对象、Folder对象。

2、请参阅Copy方法、Delete方法、DeleteFolder方法、Move方法、OpenAsTextStream方法。

DeleteFile 方法

描述

删除一个指定的文件。

语法

object.DeleteFile filespec[, force]

说明

如果没有发现相匹配的文件,则产生一个错误。DeleteFile 方法停在它遇到的第一个错误上。不要尝试回卷或撤消错误发生前所做的任何改变。

1、应用于FileSystemObject 对象

2、请参阅Copy方法、Delete方法、DeleteFolder方法、MoveFile方法DeleteFolder 方法

描述

删除一个指定的文件夹和它的内容。

语法

object.DeleteFolder folderspec[, force]

说明

DeleteFolder方法对文件夹中有无内容不做区别。不管指定的文件夹中是否有内容,它都被删除。

如果没有发现相匹配的文件夹,则发生一个错误。DeleteFolder 方法停止在它遇到的第一个错误上,不要尝试回卷或撤消错误发生前所做的任何改变。

1、应用于FileSystemObject 对象

2、请参阅CopyFolder方法、CreateFolder方法、Delete方法、DeleteFile方法、MoveFolder方法。

DriveExists 方法

描述

如果指定的驱动器存在,返回True,如果不存在返回False。

语法

object.DriveExists(drivespec)

说明

对于可删除介质的驱动器,即使没有介质存在,DriveExists 方法也返回True。使用Drive 对象的IsReady 属性确定驱动器是否准备好。

1、应用于FileSystemObject

2、请参阅FileExists 方法、FolderExists 方法

Exists 方法

描述

如果在Dictionary 对象中指定的关键字存在,返回True,若不存在,返回False。

语法

object.Exists(key)

1、应用于Dictionary 对象

2、请参阅Add方法(Dictionary)、Items 方法、Keys方法、Remove 方法、RemoveAll 方法

FileExists 方法

描述

如果指定的文件存在,返回True,若不存在,则返回False。

语法

object.FileExists(filespec)

1、应用于FileSystemObject 对象

2、请参阅DriveExists 方法、FolderExists 方法

FolderExists 方法

描述

如果指定的文件夹存在返回True,不存在返回False。

语法

object.FolderExists(folderspec)

1、应用于FileSystemObject 对象

2、请参阅DriveExists 方法、FileExists 方法GetAbsolutePathName 方法

描述

从提供的路径说明中返回一个完整、明确的路径。

语法

object.GetAbsolutePathName(pathspec)

说明

一个路径如果提供了从指定驱动器根目录的一个完整引用,则该路径是完整、明确的。一个完整的路径如果指定一个被映射驱动器的根文件夹,它只能以路径分隔符(\)为结尾。

假设当前目录是 c:\mydocuments\reports,下面的表说明了

1、应用于FileSystemObject 对象

2、请参阅BuildPath 方法、GetBaseName 方法、GetDrive 方法、GetDriveName 方法、GetExtensionName 方法、GetFile 方法、GetFileName 方法、GetFolder 方法、GetParentFolderName 方法、GetSpecialFolder 方法、GetTempName 方法

GetBaseName 方法

描述

返回一个包含路径中最后部件的基本名字(去掉任何文件扩展名)的字符串。

语法

object.GetBaseName(path)

说明

如果没有部件和path 参数匹配,GetBaseName 方法返回一个长度为零的字符串("")。

注意GetBaseName 方法只对提供的path 字符串起作用。它既不试图去辨认路径,也不检查指定路径是否存在。

1、应用于FileSystemObject 对象

2、请参阅BuildPath 方法、GetAbsolutePathName 方法、GetDrive 方法、GetDriveName 方法、GetExtensionName 方法、GetFile 方法、GetFileName 方法、GetFolder 方法、GetParentFolderName 方法、GetSpecialFolder 方法、GetTempName 方法

GetExtensionName 方法

描述

返回一个包含路径中最后部件扩展名的字符串。

语法

object.GetExtensionName(path)

说明

对于网络驱动器,根目录(\)被认为是一个部件。

如果没有部件和path 参数相匹配,GetExtensionName 方法返回一个长度为零的字符串 ("")。

1、应用于FileSystemObject 对象

2、请参阅BuildPath 方法、GetBaseName 方法、GetDrive 方法、GetDriveName 方法、GetFile 方法、GetFolder 方法、GetParentFolderName 方法、GetSpecialFolder 方法、GetTempName 方法

GetFile 方法

描述

返回一个和指定路径中文件相对应的File 对象。.

语法

object.GetFile(filespec)

说明

如果指定的文件不存在,则发生一个错误。

1、应用于FileSystemObject 对象

2、请参阅FileExists 方法、GetAbsolutePathName 方法、GetBaseName 方法、GetDrive 方法、GetDriveName 方法、GetExtensionName 方法、GetFileName 方法、GetFolder 方法、GetParentFolderName 方法、GetSpecialFolder 方法、GetTempName 方法、MoveFile 方法

GetFileName 方法

描述

返回指定路径中的最后部件,该路径不是驱动器说明的一部分。

object.GetFileName(pathspec)

说明

如果pathspec 不是以已命名部件结尾,GetFileName 方法返回一个零长度字符串("")。

注意GetFileName 方法仅在提供的路径字符串上起作用。它没有尝试去辨认路径,也不对指定路径是否存在进行检查。

1、应用于FileSystemObject 对象

2、请参阅FileExists 方法、GetAbsolutePathName 方法、GetBaseName 方法、GetDrive 方法、GetDriveName 方法、GetExtensionName 方法、GetFile 方法、GetFolder 方法、GetParentFolderName 方法、GetSpecialFolder 方法、GetTempName 方法、MoveFile 方法

GetFolder 方法

描述

返回一个和指定路径中文件夹相对应的Folder 对象。

语法

object.GetFolder(folderspec)

说明

如果指定的文件夹不存在,则发生一个错误。

1、应用于FileSystemObject 对象

2、请参阅FolderExists 方法、GetAbsolutePathName 方法、GetBaseName 方法、GetDrive 方法、GetDriveName 方法、GetExtensionName 方法、GetFile 方法、GetFileName 方法、GetParentFolderName 方法、GetSpecialFolder 方法、GetTempName 方法、MoveFile 方法

GetParentFolderName 方法

相关主题
相关文档 最新文档