我有一个包含CSV格式的大约400个文件的列表我想将它们转换为XLSX格式。我还希望在转换时向左侧添加一个新列,并且只想将文件名的前8个字符添加到新添加的列中。假设文件名是“TZ125250 April 26 2015.csv
”,它应该将TZ125250
添加到第一列,直到电子表格中存在数据的最后一行,并且应保存为“TZ125250 April 26 2015.xlsx
”,大多数CSV文件都有数据大约200000行。我正在使用的代码是
Sub CSVtoXls()
Dim CSVfolder As String
Dim XlsFolder As String
Dim fname As String
Dim wBook As Workbook
CSVfolder = "C:\csvfolder\"
XlsFolder = "C:\xlsFolder\"
fname = Dir(CSVfolder & "*.csv")
Do While fname <> ""
Set wBook = Workbooks.Open(CSVfolder & fname, Format:=6, Delimiter:=",")
Cells.Select
Cells.EntireColumn.AutoFit
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
wBook.SaveAs XlsFolder & Replace(fname, ".csv", ""), ThisWorkbook.FileFormat
wBook.Close False
fname = Dir
Loop
End Sub
如果我删除此部分,此代码会将CSV转换为XLSX
Cells.Select
Cells.EntireColumn.AutoFit
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
答案 0 :(得分:0)
将ThisWorkbook.FileFormat
更改为xlWorkbookDefault