Microsoft Excel

Herbers Excel/VBA-Archiv

.txt Datei


Betrifft: .txt Datei
von: Karin
Geschrieben am: 05.12.2018 16:14:00

Hallo Formusleser,

Entschuldigung. Ich war letzte Woche erkrankt und komme erst heute zu einer Antwort auf meine Frage vom 27.11.2018 (siehe weiter unten)

*****************************************
Hier kommt nochmal die Frage, da ich auf die Originalfrage nicht mehr antworten kann:

Es geht um einen Makro, den ich von einem Kollegen geerbt habe. Aus SAP werden .txt Dateien generiert und auf ein Laufwerk bereit gestellt. Nun kommt mein Makro, holt sich diese .txt Dateien ab und hübscht sie ein bisschen auf. Funktionierte auch alles super, bis wir ein SAP-Update hatten...
Nun werden aus Umlauten komische Zeichen generiert.

Beispiel:
ö= ö
ü= ü
ä= ä
Ü= Ü

Ich glaube im folgenden Code muss ich etwas anpassen?

.........................
Dim intFNr As Integer
Dim strZeile As String
intFNr = FreeFile()
strFileName = Trim(strFileName)
Open strFileName For Input As #intFNr

lngZeile = lngRow
Rows(lngZeile).Select
Selection.RowHeight = 20

lngZeile = lngZeile + 1
Do While Not EOF(intFNr)
Line Input #intFNr, strZeile
strZeile = Trim(strZeile)
Do While Right(strZeile, 1) = Chr(10)
strZeile = Left(strZeile, Len(strZeile) - 1)
Loop
....................

Ich hoffe, ihr habt eine Idee? Es gibt doch bestimmt eine elegantere Lösung als Replace? ;)

Danke und Grüße
Karin aus Hamburg

Betrifft: AW: .txt Datei hat nach dem Open Event falsche Umlaute
von: Torsten
Geschrieben am: 28.11.2018 07:39:52

Hallo Karin,

Frage hierzu. Ist es nicht einfacher, die Daten aus SAP direkt in eine Excel Datei anstatt in eine .txt zu konvertieren? Wenn die Daten dann eh mit Excel weiterverarbeitet werden, ist das viel einfacher. Wir in unserer Firma machen das jedenfalls so.

Gruss Torsten

@Torsten: Danke für Deine Antwort, aber das ist bei uns leider nicht umsetzbar.

Betrifft: Super
von: Torsten
Geschrieben am: 30.11.2018 13:01:16

Super, erst ne Frage stellen und dann nicht mal mehr reagieren

@Torsten: Ja sorry, man darf eben nicht krank werden...

  

Betrifft: AW: .txt Datei
von: Zwenn
Geschrieben am: 05.12.2018 17:05:03

Hallo Karin,

vermutlich spuckt das neue SAP System UTF8 codierte Texte aus. Dein Makro liest ANSI codierte Texte ein. Es geht aber über einen ADO Stream. Passe im folgenden kleinen Testmakro mal den Pfad und Dateinamen an einen der bei Dir falsch angezeigten Dateien an. Dann kannst Du sehen ob es an UTF8 liegt:

Sub TextAlsUTF8Öffnen()

Dim adoStream As Object
Dim textAusDatei As String
    
    Set adoStream = CreateObject("ADODB.Stream")
    adoStream.Charset = "UTF-8"
    adoStream.Open
    adoStream.LoadFromFile "D:\testUTF8.txt" '<-- Anpassen
    textAusDatei = adoStream.ReadText

    adoStream.Close
    Set adoStream = Nothing
    
    MsgBox textAusDatei
End Sub

Viele Grüße,

Zwenn


  

Betrifft: AW: .txt Datei
von: Karin
Geschrieben am: 06.12.2018 12:08:07

Vielen Dank, Zwenn für Deine Antwort.

Ja! Es liegt an UTF-8.
Mit Deiner kleinen Sub erhalte ich alles korrekt :)
Ich versuche das nun mal in meinen Makro zu übernehmen.

VG Karin


  

Betrifft: AW: .txt Datei
von: Zwenn
Geschrieben am: 06.12.2018 14:35:04

Hallo Karin,

schön, dass das Problem damit lokalisiert ist :-) Falls Du den Text zeilenweise verarbeiten musst/ willst, gibts dafür auch noch Möglichkeiten. Melde Dich einfach nochmal, wenn Du Hilfe brauchst. Am Besten mit Deinem dann aktuellen Makro-Code und Deinem Ziel. Ggf. schaue ich dann am Abend nochmal drauf.

Viele Grüße,

Zwenn


  

Betrifft: AW: .txt Datei
von: Karin
Geschrieben am: 06.12.2018 15:55:08

jo, dass mache ich sehr gerne.
Leider konnte ich deine Sub noch nicht einbauen. Der Fachbereich war ungeduldig und ich habe erstmal die quick&dirty Variante nehmen müssen. (Replace)
Ich hoffe ich komme morgen dazu Deine Sub einzubauen.

VG Karin