VBA使用FileSystemObject将读取或写入文本文件(一)
2010-08-12 11:40
609 查看
有时,我们需要将一个文本文件中的数据读取到Excel单元格中,或将指定单元格的内容按指定的格式导出到文本文件中,这时,我们就需要使用Scripting.FileSystemObject对象来进行操作。在接下来的几篇里我们介绍如何使用FileSystemObject对象操作文本文件的。工欲善其事,必先利其器,那么我们就先花几篇文章来详细介绍下FileSystemObject对象。
一、如何创建FileSystemObject对象
在VBA中,是通过CreateObject函数返回FileSystemObject对象。
示例:
二、FileSystemObject主要方法介绍
1、CreateTextFile方法:用于创建一个指定文件名,并返回一个可操作的TextStream对象。
语法:object.CreateTextFile(filename[,overwrite[,unicode]])
示例1:在C:/FSOTest/中创建一个名为testFile的文本文件,并写入一行“CreateTextFile Test”:
2、DeleteFile方法:用于删除一个指定的文件。如果指定的文件不存在,则返回一个错误信息。
语法:object.DeleteFile(filespec[,force])
示例2:删除示例1中创建的文本文件。
3、FileExists方法:判断指定的文件是否存在。如果存在,则返回True,若不存在,则返回False
语法:object.FileExists(filespec)
示例3:判断“C:/FSOTest/”中是否存在文件“testfile.txt”:
4、OpenTextFile方法:打开一个指定的文件并返回一个TextStream对象,该对象可能于对文件进行读操作或追加操作。
语法:object.OpenTextFile(filename[,iomode[,create[,format]]])
参数iomode可以设置为以下值:
参数format可以设置为以下值:
示例4:本例说明了使用OpenTextFile方法打开testfile.txt文件,并添加文字“OpenTextFile Test”:
下一节中,我们将介绍FileSystemObject对象返回的TextStream对象的属性与方法,并示例如何对文本文件进行读写操作。
一、如何创建FileSystemObject对象
在VBA中,是通过CreateObject函数返回FileSystemObject对象。
示例:
Dim fso As Object Set fso=CreateObject("Scripting.FileSystemObject")
二、FileSystemObject主要方法介绍
1、CreateTextFile方法:用于创建一个指定文件名,并返回一个可操作的TextStream对象。
语法:object.CreateTextFile(filename[,overwrite[,unicode]])
参数 | 说明 |
object | 必需的。为一个FileSystemObject对象的名字 |
filename | 必需的,一个带路径的字符串表达式,为创建的文件 |
overwrite | 可选的。Boolean值,如果为True表示覆盖已存在的文件,False表示不能覆盖。默认值为False。 |
unicode | 可选的。Boolean值,表示文件是作为一个Unicode文件创建的还是作为一个ASCII文件创建的。如果为True则表示作为Unicode文件创建,False表示作为ASCII文件创建。默认值为False。 |
Sub CreateFile() Dim sFile As Object, FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") Set sFile = FSO.CreateTextFile("C:/FSOTest/TestFile.txt",True) sFile.WriteLine ("CreateTextFile Test") sFile.Close Set sFile = Nothing Set FSO = Nothing End Sub
2、DeleteFile方法:用于删除一个指定的文件。如果指定的文件不存在,则返回一个错误信息。
语法:object.DeleteFile(filespec[,force])
参数 | 说明 |
object | 必需的。为一个FileSystemObject对象 |
filespec | 必需的。要删除文件的名字。可以在最后的路径部件中包含通配符 |
force | 可选的。Boolean值,如果要删除具有只读属性设置的文件,则为True。如果不能删除具有只读属性设置的文件,则为False。默认值为False |
Sub DeleteFile() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile ("C:/FSOTest/TestFile.txt") End Sub
3、FileExists方法:判断指定的文件是否存在。如果存在,则返回True,若不存在,则返回False
语法:object.FileExists(filespec)
参数 | 说明 |
object | 必需的。为一个FileSystemObject对象 |
filespec | 必需的。要确定是否存在的文件名。如果认为文件不在当前文件夹中,必须提供一个带完整的路径说明。 |
Sub FileExist() Dim fso As Object, blnExist As Boolean Set fso = CreateObject("Scripting.FileSystemObject") blnExist = fso.FileExists("C:/FSOTest/testfile.txt") MsgBox blnExist End Sub
4、OpenTextFile方法:打开一个指定的文件并返回一个TextStream对象,该对象可能于对文件进行读操作或追加操作。
语法:object.OpenTextFile(filename[,iomode[,create[,format]]])
参数 | 说明 |
object | 必需的。始终是一个 FileSystemObject 的名字 |
filename | 必需的。为一个文件名,包含完整路径说明 |
iomode | 可选的。表示输入/输出方式。可为两个常数之一:ForReading或 ForAppending。 |
create | 可选的。Boolean 值,它表示如果指定的 filename 不存在是否可以创建一个新文件。如果创建新文件,其值为 True。若不创建文件其值为 False。缺省值为 False。 |
format | 可选的。三种 Tristate 值之一,用于指示打开文件的格式。如果省略,则文件以 ASCII 格式打开。 |
常数 | 值 | 说明 |
ForReading | 1 | 打开一个只读文件。不能对此文件进行写操作 |
ForWriting | 2 | 打开一个可读写操作的文件,并删除原有文本内容 |
ForAppending | 8 | 打开一个文件并写到文件的尾部 |
常数 | 值 | 说明 |
TristateUseDefault | -2 | 使用系统缺省打开文件 |
TristateTrue | -1 | 以Unicode格式打开文件 |
TristateFalse | 0 | 以ASCII格式打开文件 |
Sub OpenTextFile() Dim fso As Object, sFile As Object Const ForReading = 1, ForWriting = 2, ForAppending = 8, TristateFalse = 0 Set fso = CreateObject("Scripting.FileSystemObject") Set sFile = fso.OpenTextFile("C:/FSOTest/testfile.txt", ForAppending, TristateFalse) sFile.Write "OpenTextFile Test" sFile.Close Set fso = Nothing Set sFile = Nothing End Sub
下一节中,我们将介绍FileSystemObject对象返回的TextStream对象的属性与方法,并示例如何对文本文件进行读写操作。
相关文章推荐
- VBA使用FileSystemObject将读取或写入文本文件(一)
- VBA使用FileSystemObject将读取或写入文本文件(二)
- VBA使用FileSystemObject将读取或写入文本文件(三)
- VBA使用FileSystemObject将读取或写入文本文件
- VBA使用FileSystemObject将读取或写入文本文件(二)
- VBA使用FileSystemObject将读取或写入文本文件(三)
- 程序使用ObjectOutputStream(new FileOutputStream(fileName,true))向文件尾写入多个对象,多次运行,最后进行读取的时候抛出StreamCorruptedException
- JS使用FileSystemObject下载文本文件
- ASP中使用FileSystemObject时提高性能的方法
- javascript ActiveXObject FileSystemObject 对象,创建、复制、删除、读取文件等
- VBA FileSystemObject 用户定义类型未定义
- HOW TO:使用 System.IO 和 Visual C# .NET 读取文本文件
- 如何使用 System.IO 和 Visual C# 读取文本文件
- Java按行读取正在被动态写入的大文件实例--使用RandomAccessFile(1)
- 使用File.OpenText读取Ansi文本文件时,出现中文乱码
- 使用FileSystemObject如果避免安全警告?
- 如何使用 System.IO 和 Visual C# 读取文本文件
- 如何读取和写入到文本文件中,通过使用 Visual C#
- 使用Python读取C语言.so文件-: libmysqlclient.so.16: cannot open shared object file: No such file o
- 如何读取和写入到文本文件中,通过使用 Visual C#