AW: VBA - Dateien öffnen -> Wert ersetzen -> Speichern
04.03.2018 10:18:43
Werner
Hallo,
hier jetzt mit einer Schleife über alle Dateien im Ordner mit der Endung .sch
Den Zielordner habe ich jetzt im Code direkt angegeben. Es ist also egal, in welchem Ordner sich die Datei mit dem Makro befindet.
Option Explicit
Sub Makro1()
Dim loLetzte As Long, loSpalte As Long
Dim strPathQuelle As String, strFileQuelle As String, strExt As String
Dim strPathZiel As String, strFileZiel As String
Application.ScreenUpdating = False
strPathQuelle = "C:\Desktop\Beispiel\"
strExt = "*.sch"
If strPathQuelle = "" Then
Exit Sub
Else
strFileQuelle = Dir(strPathQuelle & strExt)
Do While Len(strFileQuelle) > 0
Workbooks.OpenText Filename:=strPathQuelle & strFileQuelle, Origin _
:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, Tab:=True, TrailingMinusNumbers:=True
With ActiveSheet
loLetzte = .UsedRange.Rows.Count
loSpalte = .UsedRange.Columns.Count
.Range(.Cells(1, 1), .Cells(loLetzte, loSpalte)).Replace _
What:="[", Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Range(.Cells(1, 1), .Cells(loLetzte, loSpalte)).Replace _
What:="]", Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Range(.Cells(1, 1), .Cells(1, loSpalte)).EntireColumn.AutoFit
strPathZiel = "C:\Desktop\Beispiel\Konvertiert\"
strFileZiel = .Name
.SaveAs Filename:=strPathZiel & strFileZiel, FileFormat:=xlWorkbookDefault
ActiveWorkbook.Close
strFileQuelle = Dir()
End With
Loop
End If
Application.ScreenUpdating = True
End Sub
Im Code ist aber keine Prüfung eingebuat, ob der/die Ordner schon existiert.
Gruß Werner