cosmic2222
Goto Top

.dbf in .txt

Hallo.

Ich habe folgendes Problem:
Ich habe sehr, sehr viele .dbf Dateien und muss diese in .txt Dateien konvertieren. Weil es so viele sind, brauche ich ein Tool, wo ich ganz Folder bzw. Ordner komplett konvertieren kann.
Natürlich wäre ein Prog welches Freeware wäre am besten.

Danke für die Hilfe im vorraus.....

Content-Key: 40821

Url: https://administrator.de/contentid/40821

Printed on: April 16, 2024 at 18:04 o'clock

Mitglied: 27234
27234 Sep 25, 2006 at 12:43:32 (UTC)
Goto Top
Hallo,

*.dbf-Dateien sind eigentlich fast immer Datenbank-Dateien. Wie/mit welchem Programm werden/wurden diese Dateien erstellt? Einfach konvertieren wird nichts bringen. Ein wenig genauer musst Du schon werden.

Gruß - Bolle97
Mitglied: 8644
8644 Sep 25, 2006 at 13:35:47 (UTC)
Goto Top
Hi,

falls du mit dem Umweg über Excel leben kannst, lässt sich das sicher mit einem Makro bewerkstelligen. Falls ja, kann ich heute abend mal gucken, ob ich was hin kriege.

Psycho
Member: cosmic2222
cosmic2222 Sep 25, 2006 at 13:53:50 (UTC)
Goto Top
Das Problem genauer.....
Bekomme die Dateien von einem externer. Um die passend für ein Programm zu bekommen, muss das ganze in ein .txt Format sein, sprich durch Kommas getrennt.
Und auch wichtig ist, wie ich das schon erwähnt habe, das man ganze Ordner mit anfassen kann. Sind wirklich viele Dateien.
Member: Biber
Biber Sep 25, 2006 at 14:42:57 (UTC)
Goto Top
Dann brauchst Du aber nicht ein .dbf->.txt-Tool (gottseidank), sondern ein .dbf->.csv-Tool.

Dann empfehle ich Dir einen Besuch bei Dave Burton und seiner äußerst flexiblen DBF2CSV-Perl-Batch-Lösung.

http://www.burtonsys.com/

Wenn Du gar nicht so genau weißt, ob wir hier von xBase/dBASEIII bis V mit oder ohne Memofelder oder Visual FoxPro oder SIX oder Foxbase-Dateien reden, wäre es verbrannte Zeit, darauf ein Excel-Makro aufsetzen zu wollen.

Hilfreich wären ein paar mehr Infos... nicht ob der Externe blond oder kahlköpfig war, sondern schon um welche der ca.30 .dbf-Format-Varianten es hier geht.

Gruß
Biber
Member: bastla
bastla Sep 25, 2006 at 15:53:11 (UTC)
Goto Top
Hallo!

@Biber: Ist schon passiert (Zeit verbrannt) face-smile

@Jörg: Vielleich kommt Excel ja mit Deinem speziellen dbf-Format zurecht. Falls dann als Trennzeichen tatsächlich ein Komma (kein Semikolon) gefragt ist, könnte das Folgende klappen:

Option Explicit
Sub dbf2txt()

Const sSPath As String = "Z:\" 'Quellpfad - bitte anpassen; \ am Ende erforderlich  
Const sSExt as String = ".dbf"  
Const sTPath As String = "Z:\" 'Zielpfad - bitte anpassen; \ am Ende erforderlich  
Const sTExt As String = ".txt" 'Extension der Zieldatei  

Dim fso As Object, oFolder As Object, oFile As Object
Dim sFileName As String, sExt As String, sNameOnly As String

Set fso = CreateObject("Scripting.FileSystemObject")  
Set oFolder = fso.GetFolder(sSPath)

For Each oFile In oFolder.Files
    sFileName = oFile.Name
    sExt = LCase(Right(sFileName, 4))
    sNameOnly = Left(sFileName, Len(sFileName) - 4)
    If sExt = sSExt Then
        Workbooks.Open Filename:=sSPath & sFileName
        ActiveWorkbook.SaveAs Filename:=sTPath & sNameOnly & sTExt, FileFormat:=xlCSV, CreateBackup:=False
        ActiveWorkbook.Saved = True
        ActiveWorkbook.Close
    End If
Next
End Sub

Zu beachten: Falls eine Zieldatei bereits vorhanden ist, wird zum Überschreiben aufgefordert; wird dieses nicht bestätigt, bricht das Script in der derzeitigen Fassung ab.

HTH
bastla