Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ANSI Textdatei erzeugen

ANSI Textdatei erzeugen
12.04.2021 19:33:26
Stefan
Hallo liebes Forum,
ich möchte gerne Daten aus meiner Exceldatei in eine Textdatei schreiben um diese dann mit einem anderen Programm weiter zu verarbeiten. Leider muss die Kodierung ANSI sein. UTF-8 Dateien habe ich erfolgreich erzeugt, aber ANSI möchte nicht klappen. Ich habe es mit einem ADODB.Stream und mit einem FileSystemObject probiert - beides erfolglos. Ich habe beide Funktionen inkl. Testprozedur in einer Musterdatei abgelegt:
https://www.herber.de/bbs/user/145480.xlsm
Ich hoffe, mir kann jemand einen guten Tipp geben, wie ich da weiter komme.
Vielen Dank im vorraus
Stefan
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ANSI Textdatei erzeugen
12.04.2021 20:18:26
Stefan
Hallo Ralf,
danke für deine schnelle Antwort. Leider funktioniert die Lösung für mich nicht. Ich bin dem Codebeispiel aus dem Link gefolgt. Dabei wird eine Datei erzeugt von der Notepad++ sagt, dass es sich um die Kodierung Windows-1255 handelt (kenn ich [noch] nicht). Umlaute werden dabei so dargestellt: ִײהצ
(die Eingabe war "ÄÜÖßäöü", das hätte ich dann auch in der Datei erwartet).
Gruß, Stefan
Anzeige
AW: ANSI Textdatei erzeugen
12.04.2021 20:20:58
Stefan
Hmm, habe eben mal den Editor gewechselt und das gewünschte Ergebnis erhalten. Scheint ein Problem von Notepad++ zu sein, der Windows-Editor zeigt mir die Datei korrekt an.
Damit wäre die Frage für dieses Forum wohl doch beantwortet. Vielen Dank nochmal!
Gruß, Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

ANSI Textdatei erzeugen mit Excel


Schritt-für-Schritt-Anleitung

Um eine ANSI Textdatei aus Excel zu erzeugen, kannst du die folgenden Schritte befolgen:

  1. Daten vorbereiten: Stelle sicher, dass deine Excel-Datei die Daten enthält, die du in eine ANSI-Datei umwandeln möchtest.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul hinzufügen: Rechtsklicke im Projektfenster auf „VBAProject (deine Datei)“ und wähle „Einfügen“ > „Modul“.

  4. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub ExportToANSI()
       Dim fso As Object
       Dim ts As Object
       Dim FilePath As String
    
       FilePath = "C:\Pfad\zu\deiner\datei.txt" ' Ändere den Pfad entsprechend
    
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set ts = fso.CreateTextFile(FilePath, True, False) ' False für ANSI
    
       Dim i As Long
       For i = 1 To ActiveSheet.UsedRange.Rows.Count
           ts.WriteLine Join(Application.Transpose(Application.Transpose(ActiveSheet.Rows(i).Value)), vbTab)
       Next i
    
       ts.Close
       MsgBox "ANSI-Datei erfolgreich erstellt!"
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  • Fehler: Falsche Kodierung
    Wenn die erzeugte Datei nicht die gewünschte ANSI-Kodierung hat, überprüfe, ob im CreateTextFile-Befehl das dritte Argument auf False gesetzt ist. Nur so wird die Datei im ANSI-Format gespeichert.

  • Problem mit Sonderzeichen
    Wenn Umlaute oder Sonderzeichen nicht korrekt angezeigt werden, kann es an der gewählten Anwendung zur Anzeige der Datei liegen. Verwende den Windows-Editor, um die Datei zu überprüfen, da Notepad++ manchmal die Kodierung nicht korrekt interpretiert.


Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch die Excel-Funktion "Speichern unter" verwenden:

  1. Wähle „Datei“ > „Speichern unter“.
  2. Wähle den Dateityp „Text (Tabstopp-getrennt) (*.txt)“.
  3. Öffne die Datei mit einem Texteditor und speichere sie dann als ANSI.

Eine andere Möglichkeit ist die Verwendung von speziellen Tools oder Skripten, die CSV in ANSI umwandeln können.


Praktische Beispiele

Um eine Excel-Tabelle in eine ANSI TXT-Datei zu exportieren, kannst du die oben genannten Schritte befolgen. Angenommen, du hast folgende Daten in Excel:

Name Alter
Max 25
Lisa 30
Tom 28

Nach der Ausführung des Makros wird die Datei datei.txt so aussehen:

Max    25
Lisa   30
Tom    28

Tipps für Profis

  • Batch-Verarbeitung: Wenn du mehrere Excel-Dateien in ANSI umwandeln möchtest, kannst du das VBA-Skript erweitern, um durch alle Dateien in einem bestimmten Ordner zu iterieren.

  • Automatisierung: Integriere das Skript in eine Excel-Arbeitsmappe, die regelmäßig Daten exportiert, um den Prozess zu automatisieren.

  • Fehlervermeidung: Achte darauf, dass der Pfad zur Datei korrekt ist, um Laufzeitfehler zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich eine CSV-Datei in ANSI umwandeln?
Du kannst die CSV-Datei in Excel öffnen und dann mit der Funktion "Speichern unter" das Format auf „Text (Tabstopp-getrennt)“ ändern. Dadurch wird sie in ANSI umgewandelt.

2. Was ist der Unterschied zwischen ANSI und UTF-8?
ANSI ist eine ältere Kodierungsmethode, die nicht alle Zeichen unterstützt, während UTF-8 ein flexibleres Format ist, das eine breitere Palette von Zeichen, einschließlich internationaler Schriftzeichen, unterstützt.

3. Welche Excel-Version benötige ich für das VBA-Skript?
Das Skript funktioniert in den meisten modernen Versionen von Excel, einschließlich Excel 2010, 2013, 2016, 2019 und Office 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige