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

Forumthread: Textdatei bearbeiten

Textdatei bearbeiten
24.01.2018 08:15:06
Vadim
Hallo zusammen,
ich möchte ca. 1000 Textdateien in einem Ordner (Link ist im A1-Zelle hinterlegt) nacheinander nach einen Suchbegriff (steht im A2-Zelle) durchsuchen, dann ersetzen (steht im A3-Zelle) und speichern.
Kann mir jemand dabei mit VBA helfen?
Vielen Dank im Voraus.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Textdatei bearbeiten
24.01.2018 08:34:05
Sepp
Hallo Vadim,
in ein allgemeines Modul.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub replaceTextInTextfile()
Dim strPath As String, strFile As String, strSearch As String, strReplace As String
Dim FF As Integer, strTemp As String

With Sheets("Tabelle1") 'Tabellenname mit den ANgaben - Anpassen!
  strPath = .Range("A1")
  strSearch = .Range("A2")
  strReplace = .Range("A3")
End With

If Right(strPath, 1) <> "\" Then strPath = strPath & "\"

strFile = Dir(strPath & "*.txt", vbNormal)

Do While strFile <> ""
  strTemp = TextReadAll(strPath & strFile)
  If Len(strTemp) Then
    strTemp = Replace(strTemp, strSearch, strReplace)
    FF = FreeFile
    Open strPath & strFile For Output As #FF
    Print #FF, strTemp
    Close #FF
  End If
  strFile = Dir
Loop


End Sub

Private Function TextReadAll(ByVal FileName As String) As String
Dim FF As Integer, strText As String

On Error Resume Next

If Dir(FileName, vbNormal) <> "" Then
  FF = FreeFile
  Open FileName For Binary As #FF
  strText = Space$(LOF(FF))
  Get #FF, , strText
  Close #FF
  TextReadAll = strText
End If

On Error GoTo 0
Err.Clear
End Function

Gruß Sepp

Anzeige
Fehler!
24.01.2018 08:50:08
Sepp
Hallo Vadim,
im ersten Code hate ich einen Fehler drin.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub replaceTextInTextfile()
Dim strPath As String, strFile As String, strSearch As String, strReplace As String
Dim FF As Integer, strTemp As String

With Sheets("Tabelle1") 'Tabellenname mit den Angaben - Anpassen!
  strPath = .Range("A1")
  strSearch = .Range("A2")
  strReplace = .Range("A3")
End With

If Right(strPath, 1) <> "\" Then strPath = strPath & "\"

strFile = Dir(strPath & "*.txt", vbNormal)

Do While strFile <> ""
  strTemp = TextReadAll(strPath & strFile)
  If Len(strTemp) Then
    strTemp = Replace(strTemp, strSearch, strReplace)
    FF = FreeFile
    Open strPath & strFile For Output As #FF
    Print #FF, strTemp
    Close #FF
  End If
  strFile = Dir
Loop
End Sub

Private Function TextReadAll(ByVal FileName As String) As String
Dim FF As Integer, strText As String

On Error Resume Next


FF = FreeFile
Open FileName For Binary As #FF
strText = Space$(LOF(FF))
Get #FF, , strText
Close #FF
TextReadAll = strText


On Error GoTo 0
Err.Clear
End Function

Gruß Sepp

Anzeige
AW: Fehler!
24.01.2018 12:16:11
Vadim
Top!!! Vielen Dank
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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