VBScript zum konvertieren von XML in CSV
Ich habe ein VBScript, wandelt XML-Datei in einem Ordner in XLS und löscht dann die XML-Dateien - alle funktioniert.
Jedoch, ich wissen müssen, konvertieren Sie die XML-Dateien in CSV statt XLS.
Was muss ich ändern im script um dies zu ermöglichen? Einfach das ändern der Endung der Ausgabedatei(en) offensichtlich nicht funktioniert.
Dim xlApp, xlWkb, SourceFolder,TargetFolder,file
Set xlApp = CreateObject("excel.application")
Set fs = CreateObject("Scripting.FileSystemObject")
Const xlNormal=1
SourceFolder="c:\xml-to-xls\xml"
TargetFolder="c:\xml-to-xls\xls"
xlApp.Visible = false
for each file in fs.GetFolder(SourceFolder).files
Set xlWkb = xlApp.Workbooks.Open(file)
BaseName= fs.getbasename(file)
FullTargetPath=TargetFolder & "\" & BaseName & ".xls"
xlWkb.SaveAs FullTargetPath, xlNormal
xlWkb.close
next
fs.DeleteFile("C:\xml-to-xls\xml\*.xml")
Set xlWkb = Nothing
Set xlApp = Nothing
Set fs = Nothing
Dank
- Ich habe entfernt alle Kommentare aus dem code. Es ist absolut unnötigen Kommentar wie dieser:
xlWkb.close ' close workbook
- der code schon sagt, dass. Sie sind im wesentlichen schreiben Sie Ihr Programm zweimal - das ist Unsinn. Tun Sie das nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aktualisierung gemäß den Kommentaren: Danke Jungs
xlCSV
ist nicht verfügbar, wird als name in VBScript, die Sie würde tun müssen, um eineConst xlCSV = 6
vorher.Const
definition.ConflictResolution
argument (xlWkb.SaveAs FullTargetPath, xlCSV, , , , , , 2
. Und wie genau die Ergebnisse sich unterscheiden? CSV ist ein anderes format, dass unterstützt nicht alle Funktionen, XLS(X) liefert.xlWbk.Saved = True
bevor Sie die Arbeitsmappe schließen.fs.DeleteFile("C:\xml-to-xls\xml\*.xml")
. Um dies zu vermeiden, verschieben Sie die Löschung innerhalb der Schleife und löschen Sie jede Datei, nachdem es verarbeitet wurde (file.Delete
).danke Jungs... hier ist das fertige Skript