一段VBA代码将xls转换为xlsx文件

 Sub save_xls_to_xlsx()
    
    Dim folder As FileDialog
    Dim f, fdi As FileDialogSelectedItems
    Dim i As Integer
    Dim file_count As Integer
    Dim xls_file As String
    Dim xlsx_file As String
    Dim wb As Workbook
    
    Set folder = Application.FileDialog(msoFileDialogFolderPicker)
    folder.Show
    
    Set fdi = folder.SelectedItems
    
    If fdi.Count = 0 Then
        MsgBox "未选择任何文件夹。"
        Exit Sub
    End If
   
    For Each f In fdi
        xls_file = Dir(f & "\*.xls")
        file_count = 0
        Do
            If Right(xls_file, 4) = ".xls" Then
                Set wb = Workbooks.Open(f & "\" & xls_file)
                Application.ScreenUpdating = False
                xlsx_file = f & "\" & xls_file & "x"
                ActiveWorkbook.SaveAs Filename:=xlsx_file, FileFormat:=xlWorkbookDefault, CreateBackup:=False
                wb.Close savechanges:=False
                Kill f & "\" & xls_file '若不想删除原文件,可注释掉本行
                file_count = file_count + 1
                Application.ScreenUpdating = True
            End If
            xls_file = Dir
        Loop Until xls_file = ""
    Next
    MsgBox "该文件夹下的xls文件(共" & CStr(file_count) & "个)已全部转换为xlsx文件。"
    
End Sub





### 回答1: 好的,以下是一个可以将 .xls 文件转换为 .xlsx 文件VBA 代码。请注意,这仅适用于 Microsoft Excel,并且需要在 Excel 中使用 Visual Basic 编辑器运行。 Sub ConvertXLS() Dim wb As Workbook Dim strName As String Dim strPath As String strPath = "C:\Excel Files\" '请替换为你要转换文件所在的文件夹路径 strName = Dir(strPath & "*.xls") Do While strName <> "" Set wb = Workbooks.Open(Filename:=strPath & strName) strName = Replace(strName, ".xls", ".xlsx") wb.SaveAs Filename:=strPath & strName, FileFormat:=xlOpenXMLWorkbook wb.Close False strName = Dir Loop End Sub 将上述代码复制并粘贴到 Visual Basic 编辑器中,并将路径替换为你要转换文件所在的文件夹路径。然后,你可以在 Excel 中运行这段代码,它将自动将文件夹中的所有 .xls 文件转换为 .xlsx 格式。 ### 回答2: 当然可以!以下是一个简单的VBA程序示例,可以将.xls文件转换为.xlsx文件: ```vba Sub ConvertXLStoXLSX() Dim wb As Workbook Dim xlsFile As String Dim xlsxFile As String ' 打开对应的.xls文件 xlsFile = "C:\Path\To\Your\File.xls" Set wb = Workbooks.Open(xlsFile) ' 生成新的.xlsx文件xlsxFile = Replace(xlsFile, ".xls", ".xlsx") ' 另存为.xlsx文件 wb.SaveAs xlsxFile, FileFormat:=xlOpenXMLWorkbook wb.Close SaveChanges:=False End Sub ``` 请将程序中的`"C:\Path\To\Your\File.xls"`替换为你的.xls文件的路径。运行这个程序后,它将打开.xls文件,然后将其另存为.xlsx文件,并使用相同的路径和文件名,在后缀名中将`.xls`替换为`.xlsx`。如果希望转换多个文件,可以将这段代码放在一个循环中,以便逐个处理多个文件。 希望这个程序对你有所帮助!如有任何问题,请随时提问。 ### 回答3: 当然可以帮你写一个VBA程序来将.xls文件转换为.xlsx文件。下面是一个简单的示例代码: ```vba Sub ConvertXlsToXlsx() Dim SourcePath As String Dim DestinationPath As String Dim SourceFile As String Dim DestinationFile As String ' 设置源文件的路径和文件名 SourcePath = "C:\源文件路径\" SourceFile = "源文件名.xls" ' 设置目标文件的路径和文件名 DestinationPath = "C:\目标文件路径\" DestinationFile = "目标文件名.xlsx" ' 打开源文件 Workbooks.Open SourcePath & SourceFile ' 另存为.xlsx格式 ActiveWorkbook.SaveAs DestinationPath & DestinationFile, FileFormat:=xlOpenXMLWorkbook ' 关闭源文件 ActiveWorkbook.Close MsgBox "转换完成!" End Sub ``` 请按照以下步骤操作: 1. 打开Excel,按下ALT+F11打开VBA编辑器。 2. 在VBA编辑器中,选择"插入"菜单,然后选择"模块"。 3. 将上述代码复制粘贴到新模块中。 4. 修改代码中的源文件路径和文件名以及目标文件路径和文件名。 5. 按下F5运行代码。 运行程序后,源文件将打开并保存为新的.xlsx文件,然后源文件将关闭。在运行过程中你可以根据需要修改代码来满足个性化要求。 请确保你输入的路径和文件名是正确的,以及你的源文件是一个有效的.xls文件。希望这个程序能帮到你!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值