Inhalt einer Excel Datei mit VBS Script ersetze, ändern
Hallo an alle,
die Aufgabe ist:
in einer Excel Datei stehen in der ersten Zeile (Spaltenbeschriftung) die Werte betragnach UUID oder steuernach UUID. Diese sollen durch betrag und steuer ersetzt werden!
In den restlichen Zellen ab der 2 Zeile möchte ich eventuell vorhandene Anführungszeichen " entfernen! Die bestehende Datei test.xlsx kann überschrieben werden.
als Anfänger habe ich aufgrund meiner Recherchen im Web folgenden NICHT funktionierenden Code gebastelt:
Datei = "C:\test.xlsx"
arrAlt = Array("betragnach UUID", "steuernach UUID", "betragnach konto", "steuernach konto", Chr(34))
arrNeu = Array("betrag", "steuer", "betrag", "steuer", "")
Set app = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
Set wb = app.Workbooks.Open(Datei)
For i = 0 To UBound(arrAlt) - 1
var = Replace(var, arrAlt(i), arrNeu(i))
Next
fso.CreateTextFile(Aus).Write var
wb.Save
wb.Close
app.Quit
Set app = Nothing
Set fso = Nothing
Vielen Dank
die Aufgabe ist:
in einer Excel Datei stehen in der ersten Zeile (Spaltenbeschriftung) die Werte betragnach UUID oder steuernach UUID. Diese sollen durch betrag und steuer ersetzt werden!
In den restlichen Zellen ab der 2 Zeile möchte ich eventuell vorhandene Anführungszeichen " entfernen! Die bestehende Datei test.xlsx kann überschrieben werden.
als Anfänger habe ich aufgrund meiner Recherchen im Web folgenden NICHT funktionierenden Code gebastelt:
Datei = "C:\test.xlsx"
arrAlt = Array("betragnach UUID", "steuernach UUID", "betragnach konto", "steuernach konto", Chr(34))
arrNeu = Array("betrag", "steuer", "betrag", "steuer", "")
Set app = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
Set wb = app.Workbooks.Open(Datei)
For i = 0 To UBound(arrAlt) - 1
var = Replace(var, arrAlt(i), arrNeu(i))
Next
fso.CreateTextFile(Aus).Write var
wb.Save
wb.Close
app.Quit
Set app = Nothing
Set fso = Nothing
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 392041
Url: https://administrator.de/contentid/392041
Ausgedruckt am: 24.11.2024 um 03:11 Uhr
10 Kommentare
Neuester Kommentar
Nicht weiter das Problem ...:
Gruß l.
Const DATEI = "C:\text.xlsx"
Set objExcel = CreateObject("Excel.Application")
objExcel.DisplayAlerts = False
objExcel.Visible = True
arrAlt = Array("betragnach UUID","steuernach UUID","betragnach konto","steuernach konto")
arrNeu = Array("betrag","steuer","betrag","steuer")
With objExcel.Workbooks.Open(DATEI)
With .Sheets(1).Range("1:1")
For i = 0 To UBound(arrAlt)
.Replace arrAlt(i),arrNeu(i),2,1,False
Next
End With
.Sheets(1).UsedRange.Offset(1,0).Replace """","",2,1,False
.Save
.Close True
End With
objExcel.DisplayAlerts = True
objExcel.Quit
MsgBox "Feddich", vbInformation
Zitat von @Manrique:
danke für deine Hilfe. Es funktioniert fast: in der Datei test.xlsx wird in Zelle I1 betragnach UUID durch betrag ersetzt. Jedoch in Zelle K1 steht immer noch steuernach UUID anstatt steuer.
danke für deine Hilfe. Es funktioniert fast: in der Datei test.xlsx wird in Zelle I1 betragnach UUID durch betrag ersetzt. Jedoch in Zelle K1 steht immer noch steuernach UUID anstatt steuer.
in einer Excel Datei stehen in der ersten Zeile (Spaltenbeschriftung) die Werte betragnach UUID oder steuernach UUID. Diese sollen durch betrag und steuer ersetzt werden!
In den Arrays Alt bzw Neu sind das doch immer "Pärchen" oder?
Ja-Also ist die Positon im Array entscheidend, oder?
Nein. das hier legt fest in welchem Bereich diese Teile ersetzt werden.With .Sheets(1).Range("1:1")
Wie würde das gehen wenn ich die xlsx Datei als csv Trennzeichen getrennt speichern möchte?
Danke für die Hilfe
Methode SaveAs nutzen.Danke für die Hilfe
Uups, sorry komplett übersehen. Nochmal kopieren, da war ein Schnitzer von dir noch drin den ich fälschlicherweise übernommen hatte.
s.o.
Kein Thema, ebenfalls schönen Abend.