Hallo,
Ik ben al dagen aan het zoeken op internet en heb diverse mensen in mijn omgeving gevraagd, maar helaas. Ik hoop dat jullie me kunnen helpen.
Ik heb een Access applicatie gemaakt die .por bestand omzet naar .txt. Vervolgens moet hij de diverse .txt bestanden samenvoegen in een Import.txt bestand. Dit Import.txt bestand kan dan namelijk weer ingelezen worden in de Access applicatie.
Voor de makkelijk hebben de diverse .txt bestanden altijd een afwijkende naamstelling.
Function ImportPorB()
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objImportB
Set objImportB = objFSO.CreateTextFile("V:\aa\bb\cc\ImportB.txt")
Dim objFile
Dim Src
Dim NewSrc
Dim Order
Dim ImportB
For Each objFile In objFSO.GetFolder("V:\aa\bb\cc\").Files
Order = Left(objFile.Name, 8 )
Src = "V:\aa\bb\cc\" & Order & ".por "
NewSrc = "V:\aa\bb\cc\" & Order & ".txt "
If Right(objFile.Name, 5) = "B.por" Then
Debug.Print Src
Debug.Print NewSrc
FileCopy Src, NewSrc
End If
Next
Set ImportB = objFSO.OpenTextfile("V:\aa\bb\cc\ImportB.txt")
NewSrc.write ImportB.ReadAll
ImportB.Close
NewSrc.Close
Set objFSO = Nothing
End Function
Het eerste gedeelte werkt prima. Hij zet een leeg ImportB.txt neer en maakt van alle .por bestanden een .txt aan.
Bij deze variant geeft hij een fout 62 tijdens invoering: Invoer na einde van bestand.
Ik had ook nog deze variant gemaakt:
Open "V:\rva\Pickomat\Pickomat Por\ImportB.txt" For Input As #1
Open "V:\rva\Pickomat\Pickomat Por\" & Order & ".txt " For Output As #2
Write #1,
Close #1
Close #2
Maar dan geeft hij een fout 54 tijdens invoering: Ongeldige bestandsmodus.
Wat doe ik fout ?????
Ik had ook nog dit geprobeerd:
Dim nExportbestand As Integer
nExportbestand = FreeFile
'Aanmaken
Open "V:\aa\bb\cc\ImportB.txt" For Output As #nExportbestand
'Wegschrijven
Print #nExportbestand, "bla bla"
'Sluiten ouputfile
Close #nExportbestand
Ik heb nu dit gemaakt. Krijg nu geen foutmeldingen, maar nu schrijft hij het bestandpad in ImportB.txt en ik wil dus de inhoud van het bestand geschreven hebben:
Set FS = CreateObject("Scripting.FileSystemObject")
Set a = FS.CreateTextFile("V:\rva\Pickomat\Pickomat Por\ImportB.txt")
a.Write (NewSrc)
a.Close
Ik ben al dagen aan het zoeken op internet en heb diverse mensen in mijn omgeving gevraagd, maar helaas. Ik hoop dat jullie me kunnen helpen.
Ik heb een Access applicatie gemaakt die .por bestand omzet naar .txt. Vervolgens moet hij de diverse .txt bestanden samenvoegen in een Import.txt bestand. Dit Import.txt bestand kan dan namelijk weer ingelezen worden in de Access applicatie.
Voor de makkelijk hebben de diverse .txt bestanden altijd een afwijkende naamstelling.
Function ImportPorB()
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objImportB
Set objImportB = objFSO.CreateTextFile("V:\aa\bb\cc\ImportB.txt")
Dim objFile
Dim Src
Dim NewSrc
Dim Order
Dim ImportB
For Each objFile In objFSO.GetFolder("V:\aa\bb\cc\").Files
Order = Left(objFile.Name, 8 )
Src = "V:\aa\bb\cc\" & Order & ".por "
NewSrc = "V:\aa\bb\cc\" & Order & ".txt "
If Right(objFile.Name, 5) = "B.por" Then
Debug.Print Src
Debug.Print NewSrc
FileCopy Src, NewSrc
End If
Next
Set ImportB = objFSO.OpenTextfile("V:\aa\bb\cc\ImportB.txt")
NewSrc.write ImportB.ReadAll
ImportB.Close
NewSrc.Close
Set objFSO = Nothing
End Function
Het eerste gedeelte werkt prima. Hij zet een leeg ImportB.txt neer en maakt van alle .por bestanden een .txt aan.
Bij deze variant geeft hij een fout 62 tijdens invoering: Invoer na einde van bestand.
Ik had ook nog deze variant gemaakt:
Open "V:\rva\Pickomat\Pickomat Por\ImportB.txt" For Input As #1
Open "V:\rva\Pickomat\Pickomat Por\" & Order & ".txt " For Output As #2
Write #1,
Close #1
Close #2
Maar dan geeft hij een fout 54 tijdens invoering: Ongeldige bestandsmodus.
Wat doe ik fout ?????




Ik had ook nog dit geprobeerd:
Dim nExportbestand As Integer
nExportbestand = FreeFile
'Aanmaken
Open "V:\aa\bb\cc\ImportB.txt" For Output As #nExportbestand
'Wegschrijven
Print #nExportbestand, "bla bla"
'Sluiten ouputfile
Close #nExportbestand
Ik heb nu dit gemaakt. Krijg nu geen foutmeldingen, maar nu schrijft hij het bestandpad in ImportB.txt en ik wil dus de inhoud van het bestand geschreven hebben:
Set FS = CreateObject("Scripting.FileSystemObject")
Set a = FS.CreateTextFile("V:\rva\Pickomat\Pickomat Por\ImportB.txt")
a.Write (NewSrc)
a.Close