VBA converting csv Files in a folder to xlsx Files

2020-02-13 04:44发布

I have this code.

This code converts to xlsm files.

I want to convert to xlsx files.

How?

I tried by changing

wBook.SaveAs XlsFolder & Replace(fname, ".csv", ""), ThisWorkbook.FileFormatTO
wBook.SaveAs XlsFolder & Replace(fname, ".csv", ".xlsx")

It didn't worked.

Private Sub CommandButton2_Click()
Dim CSVfolder As String
 Dim XlsFolder As String
 Dim fname As String
 Dim wBook As Workbook

 CSVfolder = "C:\csv\"
 XlsFolder = "C:\Charts\"

 fname = Dir(CSVfolder & "*.csv")

 Do While fname <> ""
    Set wBook = Workbooks.Open(CSVfolder & fname, Format:=6, Delimiter:=",")
    wBook.SaveAs XlsFolder & Replace(fname, ".csv", ""), ThisWorkbook.FileFormat
    wBook.Close False
 fname = Dir
 Loop
End Sub

1条回答
贪生不怕死
2楼-- · 2020-02-13 05:01

Using the macro recoder, the file format for an xlsx workbook is FileFormat:=xlOpenXMLWorkbook

So here is your code :

Private Sub CommandButton2_Click()
Dim CSVfolder As String, _
    XlsFolder As String, _
    fname As String, _
    wBook As Workbook

 CSVfolder = "C:\csv\"
 XlsFolder = "C:\Charts\"

 fname = Dir(CSVfolder & "*.csv")

 Do While fname <> ""
    Set wBook = Workbooks.Open(CSVfolder & fname, Format:=6, Delimiter:=",")
    wBook.SaveAs XlsFolder & Replace(fname, ".csv", ""), xlOpenXMLWorkbook
    wBook.Close False
    fname = Dir
 Loop
End Sub
查看更多
登录 后发表回答