EXCELVBA帮助手册Word版Word文档格式.docx

上传人:b****3 文档编号:16720235 上传时间:2022-11-25 格式:DOCX 页数:49 大小:36.52KB
下载 相关 举报
EXCELVBA帮助手册Word版Word文档格式.docx_第1页
第1页 / 共49页
EXCELVBA帮助手册Word版Word文档格式.docx_第2页
第2页 / 共49页
EXCELVBA帮助手册Word版Word文档格式.docx_第3页
第3页 / 共49页
EXCELVBA帮助手册Word版Word文档格式.docx_第4页
第4页 / 共49页
EXCELVBA帮助手册Word版Word文档格式.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

EXCELVBA帮助手册Word版Word文档格式.docx

《EXCELVBA帮助手册Word版Word文档格式.docx》由会员分享,可在线阅读,更多相关《EXCELVBA帮助手册Word版Word文档格式.docx(49页珍藏版)》请在冰豆网上搜索。

EXCELVBA帮助手册Word版Word文档格式.docx

任意类型的表达式,指定要添加到集合中的成员。

key

可选的。

唯一字符串表达式,指定可以使用的键字符串,代替位置索引来访问集合中的成员。

before

表达式,指定集合中的相对位置。

在集合中将添加的成员放置在before参数识别的成员之前。

如果为一数值表达式,则before必须是介于1和集合Count属性值之间的值。

如果为一字符串表达式,则当添加一个被引用的成员到集合时,before必须对应于指定的key值。

可以指定before位置或after位置,但不能同时指定这两个位置。

after

可选。

在集合中将添加的成员放置在After参数识别的成员之后。

如果为一数值表达式,则after必须是介于1和集合Count属性值之间的值;

如果为一字符串表达式,则当添加一个被引用的成员到集合时,after必须对应于指定的key值。

说明

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

一个Folders集合的名称。

FolderName

新添加的Folder的名称。

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

1、应用于Folders集合

2、请参阅Add方法(Dictionary)

Assert方法

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

object.Assertbooleanexpression

Assert方法的语法有如下的对象限定符和参数:

总是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

PrivateSubForm_Load()

Command2.Caption="

AssertTester"

BuildPath方法

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

object.BuildPath(path,name)

BuildPath方法语法有如下几部分:

始终是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

Loop

Close方法

关闭一个打开的TextStream文件。

object.Close

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

1、应用于TextStream对象

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

Copy方法

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

object.Copydestination[,overwrite]

Copy方法语法有如下几部分:

始终是一个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始终是一个FileSystemObject的名字。

source

指明一个或多个要被复制文件的字符串文件说明,它可以包括通配符。

指明source中的一个或多个文件要被复制到的接受端的字符串,不允许有通配符。

选项的。

Boolean值,它表示存在的文件是否被覆盖。

如果是True,文件将被覆盖;

如果是False,它们不被覆盖。

缺省值是True。

注意如果destination具有只读属性设置,不论overwrite值如何,CopyFile都将失败。

通配符只能用在source参数的最后一个路径部件。

例如,你可以在下面请况使用通配符:

FileSystemObject.CopyFile"

c:

\mydocuments\letters\*.doc"

"

\tempfolder\"

但下面情况不能使用:

\mydocuments\*\R197.xls"

\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方法语法有如下几部分:

始终为一个FileSystemObject的名字。

指明一个或多个被复制文件夹的字符串文件夹说明,可以包括通配符。

指明source中被复制文件夹和子文件夹的接受端的字符串,不允许有通配符。

Boolean值,它表示已存在的文件夹是否被覆盖。

如果为True,文件被覆盖。

如果为False,文件不被覆盖。

缺省值为True。

通配符仅可用于source参数的最后一个路径部件。

例如你可以在下面情况使用它:

FileSystemObject.CopyFolder"

\mydocuments\letters\*"

但不能在下面情况使用它:

\mydocuments\*\*"

如果source包含通配符或destination以路径分隔符(\)为结尾,则认为destination是一个已存在的文件夹,在其中复制相匹配的文件夹和子文件夹。

否则认为destination是一个要创建的文件夹的名字。

不论何种情况,当复制一个文件夹时,可能发生四种事件。

∙如果destination不存在,source文件夹和它所有的内容得到复制。

∙如果destination是一个已存在的文件,则发生一个错误。

∙如果destination是一个目录,它将尝试复制文件夹和它所有的内容。

如果一个包含在source的文件已在destination中存在,当overwrite为False时发生一个错误,否则它将尝试覆盖这个文件。

∙如果destination是一个只读目录,当尝试去复制一个已存在的只读文件到此目录并且overwrite为False时,则发生一个错误。

如果source使用的通配符不能和任何文件夹匹配,也发生一个错误。

CopyFolder方法停止在它遇到的第一个错误上。

不要尝试回卷错误发生前所做的任何改变。

2、请参阅Copy方法、CopyFile方法、CreateFolder方法、DeleteFolder方法、MoveFolder方法

CreateFolder方法

创建一个文件夹。

object.CreateFolder(foldername)

CreateFolder方法有如下几部分:

始终是一个FileSystemObject的名字。

foldername

字符串表达式,它标识创建的文件夹。

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

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

CreateTextFile方法

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

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

CreateTextFile方法有如下几部分:

始终是一个FileSystemObject或Folder对象的名字。

filename

字符串表达式,它标识创建的文件。

Boolean值,表示一个已存在文件是否可被覆盖。

如果可被覆盖其值为True,其值为False时不能覆盖。

如果它被省略,则已存在文件不能覆盖。

unicode

Boolean值,表示文件是作为一个Unicode文件创建的还是作为一个ASCII文件创建的。

如果作为一个Unicode文件创建,其值为True,作为一个ASCII文件创建,其值为False。

如果省略的话,则认为是一个ASCII文件。

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

SubCreateAfile

Setfs=CreateObject("

Scripting.FileSystemObject"

Seta=fs.CreateTextFile("

\testfile.txt"

True)

a.WriteLine("

Thisisatest."

a.Close

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

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

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

Delete方法

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

object.Deleteforce

Delete方法语法有如下几部分:

force

Boolean值,如果要删除具有只读属性设置的文件或文件夹,其值为True。

当其值为False时(缺省),不能删除具有只读属性设置的文件或文件夹。

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

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1