VBA将文件夹中的csv文件转换为xlsx文件

Abd*_*yas 3 excel vba

我有这个代码。

此代码转换为 xlsm 文件。

我想转换为 xlsx 文件。

如何?

我尝试通过改变

wBook.SaveAs XlsFolder & Replace(fname, ".csv", ""), ThisWorkbook.FileFormatTO
wBook.SaveAs XlsFolder & Replace(fname, ".csv", ".xlsx")
Run Code Online (Sandbox Code Playgroud)

但没有成功。

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
Run Code Online (Sandbox Code Playgroud)

R3u*_*3uK 6

使用宏重新编码器,工作簿的文件格式xlsxFileFormat:=xlOpenXMLWorkbook

所以这是你的代码:

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
Run Code Online (Sandbox Code Playgroud)