Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Appending a file
Hello,
I have the following code to combine the contents of all the text files in one folder, into one single text file. The problem is, I get an error 70 Permisson denied on the second time I try to open the CombindedFile. I don't beleive the file is actually being opened, but do I need to close it or deactivate it after the first write? Thanks! Sub Append_Txt() Dim oFS As FileSystemObject Dim oFS1 As FileSystemObject Dim oTS As TextStream Dim oTS1 As TextStream Dim vTemp Dim Directory As String '************* Directory = "C:\New Folder\" ChDir Directory Set oFS = New FileSystemObject Set oFS1 = New FileSystemObject f = Dir(Directory, 7) Do While f < "" Set oTS = oFS.OpenTextFile(Directory & f, ForReading) vTemp = oTS.ReadAll Set oTS1 = oFS.OpenTextFile("C:\CombinedTemp.txt", ForAppending, True) oTS1.Write (vTemp) f = Dir Loop End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Appending a file
I don't see
oTS1.close after the loop And I don't see oTS.close inside the loop--after you've done the .readall Bythsx-Addagio wrote: Hello, I have the following code to combine the contents of all the text files in one folder, into one single text file. The problem is, I get an error 70 Permisson denied on the second time I try to open the CombindedFile. I don't beleive the file is actually being opened, but do I need to close it or deactivate it after the first write? Thanks! Sub Append_Txt() Dim oFS As FileSystemObject Dim oFS1 As FileSystemObject Dim oTS As TextStream Dim oTS1 As TextStream Dim vTemp Dim Directory As String '************* Directory = "C:\New Folder\" ChDir Directory Set oFS = New FileSystemObject Set oFS1 = New FileSystemObject f = Dir(Directory, 7) Do While f < "" Set oTS = oFS.OpenTextFile(Directory & f, ForReading) vTemp = oTS.ReadAll Set oTS1 = oFS.OpenTextFile("C:\CombinedTemp.txt", ForAppending, True) oTS1.Write (vTemp) f = Dir Loop End Sub -- Dave Peterson |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Appending a file
Is this what you suggest? I still get the permission error when trying to
open the CombinedTemp.txt Do While f < "" Set oTS = oFS.OpenTextFile(Directory & f, ForReading) vTemp = oTS.ReadAll oTS.Close Set oTS1 = oFS.OpenTextFile("C:\CombinedTemp.txt", ForAppending, True) oTS1.Write (vTemp) f = Dir Loop oTS1.Close "Dave Peterson" wrote: I don't see oTS1.close after the loop And I don't see oTS.close inside the loop--after you've done the .readall Bythsx-Addagio wrote: Hello, I have the following code to combine the contents of all the text files in one folder, into one single text file. The problem is, I get an error 70 Permisson denied on the second time I try to open the CombindedFile. I don't beleive the file is actually being opened, but do I need to close it or deactivate it after the first write? Thanks! Sub Append_Txt() Dim oFS As FileSystemObject Dim oFS1 As FileSystemObject Dim oTS As TextStream Dim oTS1 As TextStream Dim vTemp Dim Directory As String '************* Directory = "C:\New Folder\" ChDir Directory Set oFS = New FileSystemObject Set oFS1 = New FileSystemObject f = Dir(Directory, 7) Do While f < "" Set oTS = oFS.OpenTextFile(Directory & f, ForReading) vTemp = oTS.ReadAll Set oTS1 = oFS.OpenTextFile("C:\CombinedTemp.txt", ForAppending, True) oTS1.Write (vTemp) f = Dir Loop End Sub -- Dave Peterson |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Appending a file
I didn't notice that you were opening the output within the loop. Just opening
it once should be sufficient: Option Explicit Sub Append_Txt() Dim oFS As FileSystemObject Dim oTS As TextStream Dim oTS1 As TextStream Dim f As String Dim vTemp As String Dim myDirectory As String myDirectory = "C:\my documents\excel\test\" ChDrive myDirectory ChDir myDirectory Set oFS = New FileSystemObject f = Dir(myDirectory, 7) Set oTS1 = oFS.OpenTextFile("C:\CombinedTemp.txt", ForAppending, True) Do While f < "" Set oTS = oFS.OpenTextFile(myDirectory & f, ForReading) vTemp = oTS.ReadAll oTS.Close oTS1.Write vTemp f = Dir Loop oTS1.Close End Sub Ron de Bruin has alternate methods: http://www.rondebruin.nl/csv.htm Bythsx-Addagio wrote: Is this what you suggest? I still get the permission error when trying to open the CombinedTemp.txt Do While f < "" Set oTS = oFS.OpenTextFile(Directory & f, ForReading) vTemp = oTS.ReadAll oTS.Close Set oTS1 = oFS.OpenTextFile("C:\CombinedTemp.txt", ForAppending, True) oTS1.Write (vTemp) f = Dir Loop oTS1.Close "Dave Peterson" wrote: I don't see oTS1.close after the loop And I don't see oTS.close inside the loop--after you've done the .readall Bythsx-Addagio wrote: Hello, I have the following code to combine the contents of all the text files in one folder, into one single text file. The problem is, I get an error 70 Permisson denied on the second time I try to open the CombindedFile. I don't beleive the file is actually being opened, but do I need to close it or deactivate it after the first write? Thanks! Sub Append_Txt() Dim oFS As FileSystemObject Dim oFS1 As FileSystemObject Dim oTS As TextStream Dim oTS1 As TextStream Dim vTemp Dim Directory As String '************* Directory = "C:\New Folder\" ChDir Directory Set oFS = New FileSystemObject Set oFS1 = New FileSystemObject f = Dir(Directory, 7) Do While f < "" Set oTS = oFS.OpenTextFile(Directory & f, ForReading) vTemp = oTS.ReadAll Set oTS1 = oFS.OpenTextFile("C:\CombinedTemp.txt", ForAppending, True) oTS1.Write (vTemp) f = Dir Loop End Sub -- Dave Peterson -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
appending one Excel file to another ? | Excel Worksheet Functions | |||
Appending to a file with run-time error '54' Bad file mode | Excel Programming | |||
appending to excel file | Excel Programming | |||
Appending a second csv file | Excel Discussion (Misc queries) | |||
Appending to File | Excel Programming |