文章目录
1、File对象
- File对象表示某种类型的磁盘文件,允许访问指定文件的所有属性并移向文件系统的上一级访问文件驻留的系统。
- 创建File对象的进程,例如不用打开文件就可以将File对象的Item属性的引用赋给局部对象变量。
- File对象是File System对象模型的一部分。
1.1、Attributes属性
返回文件的属性,FileAttribute常量。
1.2、DateCreated属性
返回文件的创建日期,Date类型。
1.3、DateLastAccessed属性
返回文件最后访问的日期,Date类型。
1.4、DateLastModified属性
返回文件最后修改的日期,Date类型。
1.5、Drive属性
返回表示文件所在驱动器的Drive对象,后面带有冒号。
1.6、Name属性
返回文件名称,String类型。
1.7、ParentFolder属性
返回文件的父文件夹,即文件所在的文件夹,Folder对象。
1.8、Path属性
返回文件的完整路径,包括驱动器名或网络路径/共享名,String类型。
1.9、Size属性
返回以字节表示的文件大小,Variant类型。
1.10、Type属性
- 返回文件类型,即包含注册类型描述的字符串。
- 即显示在Windows资源管理器类型列中的文件类型字符串,例如配置设置、应用程序、快捷方式等。
- 如果文件没有扩展名,则类型为“File”;
- 如果文件类型没有注册,则类型显示为扩展名和“File”。
1.11、Copy方法
- 将指定的文件从某位置复制到另一个位置
- 其语法为:oFileObj.Copy Destination[,OverwriteFiles]
- oFileObj代表任何能够返回File对象的对象变量。
- 参数Destination必需,指定被复制文件的路径和可选的文件名,String类型。
- 参数OverwriteFiles可选,Boolean类型,如果可以覆盖一个已经存在的文件,则OverwriteFiles的值为True,否则为False。
- 注意,在Destination中不能使用通配符。
- 如果参数Destination将文件路径设置为只读,则无论参数Overwrite的设置如何,Copy方法都将失败。
- 如果OverwriteFiles为False,而在Destination中又存在该文件,则会产生运行时错误“文件已经存在”。
- 如果用户有足够的权限,则Destination可以是一个网络路径或共享名。
1.12、Delete方法
- 删除当前文件
- 其语法为:oFileObj.Delete [Force]
- 其中,oFileObj代表任何能够返回File对象的对象变量。
- 参数Force可选,Boolean类型,如果设置为True,则忽略文件的只读标志(如果已设置只读属性的话)并删除该文件。
- 参数Force的默认设置为False。如果参数Force设置为False而文件为只读,则Delete方法将失败。
- 如果要删除的文件已打开,则Delete方法将失败并产生一个“Permission Denied”错误。
- File对象的Delete方法和FileSystemObject对象的Delete方法不同,后者允许路径参数中有通配符,因而能同时删除多个文件,而前者只能删除oFileObj参数指定的一个文件。
- 执行Delete方法后,包含oFileObj的Files集合对象会自动更新,被删除的文件从集合中移除且集合的计数减一。
- 不能再次访问已删除的文件,而应该将oFileObj设置为Nothing。
1.13、Move方法
- 将文件从一个文件夹移动到另一个文件夹。
- 其语法为:oFileObj.Move destination
- 其中,oFileObj代表任何能够返回File对象的对象变量。
- 参数destination必需,String类型,指定要移动的文件所在位置的路径。
- 在参数destination中不能使用通配符,但可以是绝对路径也可以是相对路径。
- 要保证Move方法成功执行,可在调用前使用FileSystemObject对象的FileExits方法和GetAbsolutePath方法。
- File对象的Move方法和FileSystemObject对象的MoveFile方法不同,后者允许路径参数中有通配符,因而能够同时移动多个文件,而前者只能移动参数oFileObj指定的一个文件。
- 执行Move方法后,包含oFileObj的Files集合对象会自动更新,从集合中删除被移动的文件且使集合的计数减一。
- 不能在原来的Folder集合对象中再次访问已移动的文件。
- 如果用户有足够的权限,则Destination可以是一个网络路径或共享名。
1.14、OpenAsTextStream方法
- 打开被引用的文本文件以进行文件的读或写操作,返回一个TextStream对象。
- 其语法为:oFileObj.OpenAsTextStream ([IOMode[,Format]])
- 其中,oFileObj代表任何能够返回File对象的对象变量。
- 参数IOMode可选,为下表1中所列的IOMode常量,指定打开文件的模式,默认设置为ForReading(1)。
- 参数Format可选,为下表2所列的Tristate常量,指定打开文件的格式为ASCⅡ格式或Unicode格式,默认设置为ASCⅡ(False)。
表1: IOMode常量
常量 | 值 | 含义 |
---|---|---|
ForAppending | 8 | 以追加模式打开文件,即保护文件的当前内容并在文件的末尾写入新的数据。 |
ForReading | 1 | 以只读模式打开文件,不能对以只读模式打开的文件进行写操作。 |
ForWriting | 2 | 以写模式打开文件,文件原来的所有内容都被新的数据覆盖。 |
表2:Tristate常量
常量 | 值 | 含义 |
---|---|---|
TristateUseDefault | -2 | 以系统缺省格式打开文件 |
TristateTrue | -1 | 以Unicode格式打开文件 |
TristateFalse | 0 | 以ASCⅡ格式打开文件 |
- 如果另外一个进程已经打开了该文件,则OpenAsTextStream方法失败并产生错误“权限被否定”。
2、Files集合对象
- Files集合对象是File System对象模型中的对象之一。
- Files集合是任何Folder对象的File属性所返回的File对象的容器(即Folder.Files)。
- Files集合包含文件夹中的所有文件。
- 使用Files集合的Item属性可以获得对某个File对象的引用,必须使用准确的文件名(包含文件的扩展名)作为参数。
- 可使用For Each … Next语句迭代集合中的所有文件。
2.1、Count属性
返回集合中的File对象的数目,Long类型。
2.2、Item属性
使用文件名(包括扩展名)作为参数,返回具有该文件名的文件对应的File对象。各个File对象不能通过它们在集合中的序号位置来访问。Item属性是Files集合对象的默认属性。
示例:使用Item属性获取autoexec.bat File对象