有n个文本文件,希望把里面的内容写到另外一个新的文件中,文本之间的数据用回车换行,直到文本文件内容全部复制到这个新的文件中去

解决方案 »

  1.   

    Option Explicit
    Const ForReading = 1, ForWriting = 2
    Dim fso, f
    Dim TempStr As String
    '读文件的函数
    Private Function ReadAllTextFile(ByVal FileName As String) As String
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.OpenTextFile(FileName, ForReading)
       ReadAllTextFile = f.ReadAll
    End Function
    '写文件的函数
    Private Function WriteLineToFile(ByVal FileName As String) As Boolean
       Set f = fso.OpenTextFile(FileName, ForWriting, True)
       f.WriteLine TempStr
    End FunctionPrivate Sub Form_Load()
       Set fso = CreateObject("Scripting.FileSystemObject")
    End Sub
    Private Sub Command1_Click()
        '读两个源文件到变量中,中间用回车换行连接
        TempStr = ReadAllTextFile("c:\1.txt") & vbCrLf & ReadAllTextFile("c:\2.txt")
        '写到目的文件中去
        WriteLineToFile "c:\3.txt"
    End Sub
      

  2.   

    用shell命令调用msdos方式的copy命令就好了
    copy 1.txt+2.txt+3.txt+……n.txt只要每一个文本的最后一行有一个换行符就可以满足你的要求了,最后的文本在1.txt里面,你自己试验一下看看!
      

  3.   

    pweixing的方法也不错
    第一步:在每个文件后面追加一个回车换行符;
    第二步:copy 1.txt+2.txt+3.txt+……n.txt
    第一步的代码参考如下:
    Private Sub Command1_Click()
        AddCrLf ("c:\1.txt")
    End SubPrivate Sub AddCrLf(ByVal FileName As String)
        Dim FileNumber As Long
        FileNumber = FreeFile
        Open FileName For Append As #FileNumber
        Print #FileNumber, vbCrLf
        Close #FileNumber
    End Sub