批次转换Excel格式, 由xls转为xlsx

**批次转换Excel存档格式, 由xls转为xlsx

xls格式是Excel2003及以前的Excel版本, 该格式数据只支援到256列和65536行, 且xls格式与xlsx格式档案大小也有差异, 档案体积的差异最小有2倍之多, 最大有10倍之多

Sub ConvertToXlsx()    Dim strPath As String    Dim strFile As String    Dim xWbk As Workbook    Dim xSFD, xRFD As FileDialog    Dim xSPath As String    Dim xRPath As String    'xls 存放的资料夹    Set xSFD = Application.FileDialog(msoFileDialogFolderPicker)    With xSFD        .Title = "Please select the folder contains the xls files:"        .InitialFileName = "C:\"    End With    If xSFD.Show <> -1 Then Exit Sub    xSPath = xSFD.SelectedItems.Item(1)    '转为 xlsx 后要存放的资料夹    Set xRFD = Application.FileDialog(msoFileDialogFolderPicker)    With xRFD        .Title = "Please select a folder for outputting the new files:"        .InitialFileName = "C:\"    End With    If xRFD.Show <> -1 Then Exit Sub    xRPath = xRFD.SelectedItems.Item(1) & "\"        strPath = xSPath & "\"    strFile = Dir(strPath & "*.xls")        Application.ScreenUpdating = False    Application.DisplayAlerts = False    '开启xls 另存为xlsx    Do While strFile <> ""        If Right(strFile, 3) = "xls" Then            Set xWbk = Workbooks.Open(Filename:=strPath & strFile)            xWbk.SaveAs Filename:=xRPath & strFile & "x", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False            xWbk.Close SaveChanges:=False        End If        strFile = Dir    Loop        Application.DisplayAlerts = True    Application.ScreenUpdating = TrueEnd Sub

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章