Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1604to1608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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.

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige