Excel 将csv文件转换为xlsx

Excel 将csv文件转换为xlsx,excel,vba,Excel,Vba,我需要将csv文件转换为xlsx,以便我的宏可以正确读取值,但我不知道如何执行,您能帮我吗 Dim ExApp As Excel.Application Set ExApp = New Excel.Application ExApp.Visible = False Dim MyWb As Workbook Set MyWb = ExApp.Workbooks.Open(Filename:="U:\a.csv", ReadOnly:=True MyWb.Close SaveChanges:=F

我需要将csv文件转换为xlsx,以便我的宏可以正确读取值,但我不知道如何执行,您能帮我吗

Dim ExApp As Excel.Application
Set ExApp = New Excel.Application 
ExApp.Visible = False
Dim MyWb As Workbook
Set MyWb = ExApp.Workbooks.Open(Filename:="U:\a.csv", ReadOnly:=True

MyWb.Close SaveChanges:=False
ExApp.Quit

在这里,我打开了我的文件a.csv,但我想在xlsx中打开它而不做任何操作,或者在打开后转换它,我不知道。

您只需像黑魔法一样更改文件的类型:(

为您提供两种解决方案:

  • 使您的宏可以直接读取csv,便于读取csv文件。(推荐)

  • 制作宏以打开CSV文件并将其另存为xlsx文件,然后可以使用宏读取此xlsx文件

  • 一些代码可以帮助你

        Dim WB As Workbook
    
        Set WB = Workbooks.Open("\\users\path\Desktop\test.csv")
    
        WB.SaveAs fileName:="\\users\path\Desktop\test.xlsx", _
                FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
                ReadOnlyRecommended:=False, CreateBackup:=False
    

    很抱歉回答得太晚!谢谢你的代码,但它告诉我“Excel无法打开文件,因为扩展名无效”,我在Excel 2013上,我不知道这是否重要。你是否将文件的正确目录放在了CSV?例如,你在桌面上有一个文件,那么你应该替换
    “\\users\path\desktop\test.CSV”
    带有
    C:\Users\myname\Desktop\test.csv