Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: In txt-Datei an bestimmte Stelle Dateien schreiben

In txt-Datei an bestimmte Stelle Dateien schreiben
26.04.2006 11:50:59
Helmut
Hallo liebe Mitglieder,
ich habe wieder mal ein kleines Problem (automatische Konvertierung).
Und zwar möchte ich in eine vorhandene Textdatei ab einer bestimmten Zeile (Zeile 24) sämtliche Dateien (hgl-Dateien) mit vollständiger Pfadangabe aus einem Verzeichis (C:\Programme\text) einfügen. Daneben steht immer der Pfad der konvertierten Datei (pdf).
Und zwar im Format (Beispielhaft hier 2 Dateien):
C:\Programme\text\test1.hgl C:\Programme\text\test1.pdf
C:\Programme\text\test2.hgl C:\Programme\text\test2.pdf
u.s.w.
(Vor diesen Pfaden und danach stehen irgendwelche andere Dinge, die für die Konvertierung aber immer gleich bleiben!)
Da ich kaum Erfahrung mit Excel und Programmierungen habe, aber gehört habe dass das prinzipiell funktionieren soll, würde mich interessieren, wie eine sogenannte batch-Datei aussieht, die das machen kann?
Hat da jemand konkrete (Script) Hilfe für mich?
Danke im Voraus.
LG,
Helmut
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In txt-Datei an bestimmte Stelle Dateien schre
29.04.2006 12:05:17
Franz
Hallo Helmut,
ich habe dir ein VBA-Makro gebastelt, das die Textdatei generiert.
Die Textdatei wird in einer EXCEL-Tabelle generiert und dann neu geschrieben.
Das Makro führt folgende Schritte aus:
1. Die 23 Textzeilen werden eingelesen, die vor den Dateinamen stehen sollen.
2. Die hgl-Dateinamen werden eingelesen und die entsprechenden Textzeilen generiert.
3. Die Textzeilen von Zeile 24 bis zum Ende der Datei eingelesen.
4. Die Textdatei wird neu geschrieben
https://www.herber.de/bbs/user/33220.xls
Gruß
Franz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

In txt-Datei an bestimmte Stelle Dateien schreiben


Schritt-für-Schritt-Anleitung

Um in eine vorhandene Textdatei ab einer bestimmten Zeile (in diesem Fall Zeile 24) mehrere hgl-Dateien mit vollständiger Pfadangabe einzufügen, kannst Du ein VBA-Makro in Excel verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  3. Kopiere und füge den folgenden Code ein:

    Sub WriteToTextFile()
        Dim filePath As String
        Dim textLine As String
        Dim outputFile As String
        Dim hglFiles As Variant
        Dim i As Integer
    
        ' Pfad zur Textdatei
        outputFile = "C:\Pfad\zu\deiner\textdatei.txt"
    
        ' Beispielhafte hgl-Dateinamen (Hier sollten die tatsächlichen Dateinamen stehen)
        hglFiles = Array("C:\Programme\text\test1.hgl", "C:\Programme\text\test2.hgl")
    
        ' Textdatei öffnen
        Open outputFile For Append As #1
    
        ' Zeilen vor den hgl-Dateien
        For i = 0 To UBound(hglFiles)
            textLine = hglFiles(i) & " " & Replace(hglFiles(i), ".hgl", ".pdf")
            Print #1, textLine
        Next i
    
        ' Datei schließen
        Close #1
    End Sub
  4. Passe den outputFile und die hglFiles-Array an, damit sie Deinen Anforderungen entsprechen.

  5. Führe das Makro aus: Drücke F5 oder gehe zu Run > Run Sub/UserForm.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Überprüfe den Pfad zur Textdatei und stelle sicher, dass er korrekt ist.
  • Fehler: "Zugriff verweigert"

    • Stelle sicher, dass die Textdatei nicht in einem anderen Programm geöffnet ist.
  • Fehler: "Array außerhalb des Bereichs"

    • Stelle sicher, dass die hgl-Dateien im Array korrekt angegeben sind und existieren.

Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch eine Batch-Datei erstellen, die mit dem echo-Befehl funktioniert. Hier ein einfaches Beispiel:

@echo off
(
    for /f "tokens=*" %%a in (C:\Programme\text\*.hgl) do (
        echo %%a %%~dpna.pdf >> C:\Pfad\zu\deiner\textdatei.txt
    )
) 

Speichere diesen Code in einer .bat-Datei und führe sie aus.


Praktische Beispiele

Angenommen, Du möchtest die hgl-Dateien test1.hgl und test2.hgl speichern. Der VBA-Code würde diese in die Textdatei wie folgt einfügen:

C:\Programme\text\test1.hgl C:\Programme\text\test1.pdf
C:\Programme\text\test2.hgl C:\Programme\text\test2.pdf

So kannst Du sicherstellen, dass die konvertierten Dateien stets neben den Originalen aufgeführt werden.


Tipps für Profis

  • Du kannst den VBA-Code erweitern, um auch andere Dateitypen zu verarbeiten oder zusätzliche Informationen zu den Dateien einzufügen.
  • Nutze die Debug.Print-Funktion, um den Fortschritt des Makros im Direktfenster zu überwachen.
  • Experimentiere mit Excel-Formeln, um den Dateipfad dynamisch zu generieren, falls Du viele Dateien hast.

FAQ: Häufige Fragen

1. Frage
Kann ich das Makro auch auf andere Dateitypen anwenden?
Ja, Du kannst den Code anpassen, um unterschiedliche Dateitypen zu verarbeiten, indem Du die Dateiendungen im hglFiles-Array änderst.

2. Frage
Gibt es eine Möglichkeit, das Ergebnis in einer neuen Datei zu speichern?
Ja, ändere einfach den outputFile-Pfad im VBA-Code, um eine neue Textdatei zu erstellen.

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