注:本程序下面有add.dat文件、一个openfiles文件夹和savefiles文件夹。上述的这个程序只能把当前目录下的add.dat与CLASS1.html(大写的主文件名)进行合并后在当前目录存为class1.xls文件,而我想要把当前目录的add.dat与子目录openfiles里面的任何一个文件全都单独进行合并处理并且每个合并后的文件存到子目录savefiles下面,保存时的文件名要与openfiles文件夹里的文件同主名,扩展名为.xls.不知要怎么解决.请求帮助.
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 Function Private Sub Form_Load() 
Set fso = CreateObject("Scripting.FileSystemObject") 
End Sub 
Private Sub xlscmd1_Click() 
'读两个源文件到变量中,中间用回车换行连接 
TempStr = ReadAllTextFile(App.Path + "\add.dat") & vbCrLf & ReadAllTextFile(App.Path + "\CLASS1.html") 
'写到目的文件中去 
WriteLineToFile App.Path + "\class1.xls" 
End 
End Sub 

解决方案 »

  1.   

    Dim strFile As StringstrFile = Dir(App.Path & "\openfiles\*.*")Do While strFile > ""  '读两个源文件到变量中,中间用回车换行连接 
      TempStr = ReadAllTextFile(App.Path + "\add.dat") & vbCrLf & ReadAllTextFile(App.Path + "\openfiles\" & strFile)   '写到目的文件中去 
      strFile = Left(strFile, InStrRev(strFile, ".")) & "xls"
      WriteLineToFile App.Path + "\savefiles\" & strFile  strFile = DirLoop