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

Forumthread: Variable in Textdatei speichern ...

Variable in Textdatei speichern ...
12.07.2005 11:01:40
Michl
Hallo @Forum!
Bräuchte nochmal schnell eure Hilfe:
Möchte, dass bei folgendem Code die Variable "errfiles" in eine Textdatei geschrieben und mit einem ", " getrennt wird. (sprich wenn z.b. errfiles = 18 ist, nach dem next i 40, dann soll in der Textdatei "18, 40" stehen)
Kriegs irgendwie nicht hin ... Weiß aber nicht, wie ich das umsetzen soll.

Sub test()
With fs
.LookIn = path
.SearchSubFolders = True
.MatchTextExactly = True
.Filename = "*.err"
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
errfiles = .FoundFiles(i)
txt_pages = "D:\test\" & "test.txt"
Open txt_pages For Input As #1
Print #1, errfiles
Close #1
Next i
Else
MsgBox "There were no files found."
End If
End with
End Sub

Hoffe ihr könnt mir da weiterhelfen.
Danke und Gruß
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable in Textdatei speichern ...
12.07.2005 11:23:57
IngGi
Hallo Michl,
du mußt die Textdatei "for Output" öffnen. Die gefundenen Files sammelst du in einer zusätzlichen Stringvariablen. Wenn du nur den Index der gefundenen Dateien haben willst, reicht i, du brauchst errfiles nicht.

With fs
.LookIn = path
.SearchSubFolders = True
.MatchTextExactly = True
.Filename = "*.err"
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
If strFiles = "" Then
strFiles = CStr(i)
else
strFiles = strFiles & ", " & CStr(i)
End If
Next i
txt_pages = "D:\test\" & "test.txt"
Open txt_pages For Output As #1
Print #1, strFiles
Close #1
Else
MsgBox "There were no files found."
End If
End with

Gruß Ingolf
Anzeige
AW: Variable in Textdatei speichern ...
12.07.2005 12:44:07
Michl
Hallo Ingolf,
super. Hat alles prächtig funktioniert. Man muss nur statt "print" "print line" schreiben, sonst liest er nicht richtig ein. Wollte aber schon bewusst, dass er mir die gefundenen files (pfad, name) in die txt schreibt. ;-)
Also dank dir nochmal.
Gruss,
Michl
AW: Variable in Textdatei speichern ...
12.07.2005 11:26:00
MichaV
Hi,
was genau möchtest Du machen?
"z.b. errfiles = 18 ist, nach dem next i 40, dann soll in der Textdatei "18, 40" stehen"
was meinst Du mit: nach dem next i 40?
Gruss- Micha
Anzeige
AW: Variable in Textdatei speichern ...
12.07.2005 12:46:57
Michl
Hi Micha,
ich hab damit gemeint, dass der pfad und name, sprich die variable errfiles in die textdabeit geschrieben wird. Seh auch grad, dass ich mich da oben ein bisschen blöd ausgedrückt hab. ;-)
Lag daran, dass ich geistig noch im Programm war und für mich das selbstverständlich war, sry.
Anzeige
;

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

Variable in Textdatei speichern mit VBA


Schritt-für-Schritt-Anleitung

Um eine Excel-Variable in Text zu speichern, kannst du folgenden VBA-Code verwenden. Dieser Code sucht nach Dateien mit der Endung .err und speichert die gefundenen Dateinamen in einer Textdatei.

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Füge den folgenden Code in das Modul ein:
Sub test()
    Dim fs As Object
    Dim strFiles As String
    Dim path As String
    Dim txt_pages As String

    Set fs = CreateObject("Scripting.FileSystemObject")
    path = "D:\dein\pfad\hier"

    With fs
        .LookIn = path
        .SearchSubFolders = True
        .MatchTextExactly = True
        .Filename = "*.err"

        If .Execute() > 0 Then
            For i = 1 To .FoundFiles.Count
                If strFiles = "" Then
                    strFiles = CStr(.FoundFiles(i))
                Else
                    strFiles = strFiles & ", " & CStr(.FoundFiles(i))
                End If
            Next i

            txt_pages = "D:\test\test.txt"
            Open txt_pages For Output As #1
            Print #1, strFiles
            Close #1
        Else
            MsgBox "Es wurden keine Dateien gefunden."
        End If
    End With
End Sub
  1. Ändere den path zur gewünschten Suchstelle und führe das Makro aus.

Häufige Fehler und Lösungen

  • Fehler: "Es wurden keine Dateien gefunden."

    • Lösung: Überprüfe den angegebenen path und stelle sicher, dass dort .err-Dateien vorhanden sind.
  • Fehler: Textdatei wird nicht korrekt geschrieben.

    • Lösung: Stelle sicher, dass du die Textdatei mit For Output öffnest. Andernfalls wird der Inhalt nicht wie gewünscht gespeichert.

Alternative Methoden

Eine alternative Methode könnte die Verwendung von Excel-Formeln oder Power Query sein, um Daten zu exportieren. Diese Methoden sind jedoch weniger flexibel im Vergleich zur VBA-Lösung, besonders wenn du mit Dateinamen arbeiten möchtest.


Praktische Beispiele

Hier ist ein Beispiel, wie du den oben genannten Code anpassen kannst, um nur die ersten 6 Zeichen der gefundenen Dateinamen zu speichern, die "nur geistig vorhanden 6 buchstaben" sind:

If Len(.FoundFiles(i)) = 6 Then
    ' Füge deine Logik hier ein
End If

Tipps für Profis

  • Nutze die Möglichkeit, mehrere Variablen in einer String-Variable zu speichern, um die Übersichtlichkeit zu erhöhen.
  • Experimentiere mit FileSystemObject, um weitere Informationen über die Dateien zu erhalten, wie z.B. Erstellungsdatum oder Größe.

FAQ: Häufige Fragen

1. Wie kann ich den Pfad zur Textdatei ändern?
Ändere einfach die Variable txt_pages im Code, um den gewünschten Speicherort anzugeben.

2. Was mache ich, wenn ich mehr als nur .err-Dateien verarbeiten möchte?
Du kannst die Filename-Eigenschaft im Code anpassen, um nach anderen Dateitypen zu suchen.

3. Ist es möglich, die gefundenen Dateinamen direkt in eine Excel-Tabelle zu schreiben?
Ja, du kannst die Cells-Eigenschaft verwenden, um die Dateinamen direkt in die Zellen einer Excel-Tabelle zu schreiben.

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