使用文件
通过使用新的面向对象的 FSO 对象,诸如 Copy、 Delete、 Move 以及 OpenAsTextStream,或者使用传统的函数,诸如 Open、 Close、 FileCopy、 GetAttr 等等,您可以使用 Visual Basic 中的文件。请注意,不用考虑其文件类型就可以移动、复制或删除文件。关于传统函数的用法的详细信息,请参阅本章的“用传统的文件 I/O 语句和函数处理文件”部分。本节的余下部分将描述如何使用新的 FSO 对象、方法和属性来使用文件。文件操作主要有两类: 创建、添加、或删除数据,以及阅读文件
移动、复制、和删除文件 
用 File System Objects 创建文件并添加数据
有三种不同方法来创建一个顺序文本文件(有时被称为“文本流”)。一种方法就是使用 CreateTextFile 方法。要创建一个空文本文件,可以:Dim fso As New FileSystemObject, fil As File
Set fil = fso.CreateTextFile("c:\testfile.txt", True)注意 FSO 对象模型尚不支持创建随机文件或二进制文件。要创建随机文件和二进制文件,请使用带 Random 或 Binary 标志的 Open 命令。关于如何操作随机文件和二进制文件的详细信息,请参阅本章的“使用随机文件访问”和“使用二进制文件访问”部分。另一种方法是使用 FileSystemObject 对象的 OpenTextFile 方法,该对象的 ForWriting 标志设置为:Dim fso As New FileSystemObject, ts As New TextStream
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting)或者使用带 ForWriting 标志设置的 OpenAsTextStream 方法:Dim fso As New FileSystemObject, fil As File, ts As TextStream
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("test1.txt")
Set fil = fso.GetFile("test1.txt")
Set ts = fil.OpenAsTextStream(ForWriting)添加数据到文件
文本文件一经创建,就可以分三步向其中加入数据: 打开文本文件以备写入数据。
写入数据。
关闭文件。 
要打开文件,可以使用下面两种方法中的任一种: File 对象的 OpenAsTextStream 方法,或 FileSystemObject 对象的 OpenTextFile 方法。要向打开的文本文件中写入数据,可以使用 TextStream 对象的 Write 或 WriteLine 方法。它们之间的唯一差别是 WriteLine 在指定的字符串末尾添加换行符。如果想要向文本文件中添加一个空行,请使用 WriteBlankLines 方法。 要关闭一个已打开的文件,请使用 TextStream 对象的 Close 方法。下面这个例子示范了如何打开一个文件,使用上述三种写入方法向该文件中添加数据,然后关闭文件:Sub Create_File()
    Dim fso, txtfile
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
    txtfile.Write ("这是一个测试例子。") ' 写入一行。
    ' 写入一行带有换行符的文本。
    txtfile.WriteLine("Testing 1, 2, 3.") 
    ' 向文件中写入三个换行符。
    txtfile.WriteBlankLines(3) 
    txtfile.Close
End Sub使用 File System Objects 读取文件
要从一个文本文件中读取数据,请使用 TextStream 对象的 Read、 ReadLine 或 ReadAll 方法: 任务 方法 
从一个文件中读取指定数量的字符 Read 
读取一整行(紧跟,但不包括,换行符) ReadLine 
读取一个文本文件的所有内容 ReadAll  
如果使用 Read 或 ReadLine 方法并且想要跳过数据的某些部分,可以使用 Skip 或 SkipLine 方法。这些读取方法产生的文本被存储在一个字符串中,而这个字符串可以在一个控件中显示,也可以被字符串操作符分解(诸如 Left、 Right 和 Mid)、合并等等。注意 vbNewLine 常数包含一个或多个字符(取决于操作系统)使得光标移至下一行的开头(回车/换行)。请注意,有的字符串末尾可能有这样的非打印字符。示例
Sub Read_Files()
    Dim fso As New FileSystemObject, txtfile, _
      fil1 As File, ts As TextStream
    Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
    MsgBox "正在写入文件"
    ' 写入一行。
    Set fil1 = fso.GetFile("c:\testfile.txt")
    Set ts = fil1.OpenAsTextStream(ForWriting)
    ts.Write "Hello World"
    ts.Close
    ' 读取文件的内容。
    Set ts = fil1.OpenAsTextStream(ForReading)
    s = ts.ReadLine
    MsgBox s
    ts.Close
End Sub
移动、复制和删除文件
对文件的移动、复制和删除,FSO 对象模型都提供了两种方法:任务 方法 
移动一个文件 File.Move 或
FileSystemObject.MoveFile 
复制一个文件 File.Copy 或
FileSystemObject.CopyFile 
删除一个文件 File.Delete 或
FileSystemObject.DeleteFile 
示例
本例先在C盘的根目录下创建了一个文本文件,并向其中写入一些信息,然后将该文件移至一个名叫 \tmp 的目录,并复制到一个叫 \temp 的目录下,最后删掉该文件在这两个子目录下的拷贝。要运行本例,请先确认在C盘的根目录下已经存在名叫 \tmp 和 \temp 的目录。Sub Manip_Files()
    Dim fso as New FileSystemObject, txtfile, fil1, fil2
    Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
    MsgBox "写入文件"
    ' 写入一行。
    txtfile.Write ("这是一个测试例子。")
    ' 关闭要写入的文件。
    txtfile.Close
    MsgBox "移动文件到 c:\tmp"
    ' 获得C盘根目录下的一个文件句柄。
    Set fil1 = fso.GetFile("c:\testfile.txt")
    ' 将该文件移至 \tmp 目录下。
    fil1.Move ("c:\tmp\testfile.txt")
    MsgBox "复制文件到 c:\temp"
    ' 将该文件复制到 \temp 目录下。
    fil1.Copy ("c:\temp\testfile.txt")
    MsgBox "删除文件"
    ' 获得这些文件当前位置的句柄。
    Set fil1 = fso.GetFile("c:\tmp\testfile.txt")
    Set fil2 = fso.GetFile("c:\temp\testfile.txt")
    ' 删除这些文件。
    fil1.Delete
    fil2.Delete
MsgBox "全部完成!"

解决方案 »

  1.   

    用FileSystemObject,MSDN上有詳細的說明
    txt用其opentxtfile方法打開
      

  2.   

    首先引用Micoroft Scripting Runtime
    文件建立:FILESYSTEMOBJECT.CREATETEXTFILE(文件名)
    文件夹的建立:FILESYSTEMOBJECT.CREATEFOLDER(文件夹名)
    文件的删除:FILESYSTEMOBJECT.DELETEFILE 文件名
    文件夹的删除:FILESYSTEMOBJECT.DELETEFOLDER 文件夹名
    文件的COPY:FILESSYSTEMOBJECT.COPYFILE 文件名
    文件夹的COPY:FILESSYSTEMOBJECT.COPYFOLDER 文件夹名
    其它的不写了王国荣的<VISUAL BASIC 6.0实战讲座>中有祥细的例子