2015/02/24

舊版Excel (2003 .XLS) 升級到新版(2007 .XLSX) - 批次

公司改用office 2013也有日子,停用舊版Excel(.xls)的呼聲都愈來愈大,日常使用的檔案同事都自己轉換了,餘下一大批封塵的檔案等著一次性更新。
一開始使用Nopi轉,但發現有些檔案的Style (底線, 顏色), Pivot都出現問題,到後期更出現檔案損壞。到最後原來還是使用Excel自己轉換最安全。 以下是使用Macro 在指定資料來內把.xls檔案轉換成.xlsx.


Sub ConvertToXlsx()
    Dim strPath As String
    Dim strFile As String
    Dim wbk As Workbook
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
        
    strPath = "D:\Current Folder\" '目標位置
    strFile = Dir(strPath & "*.xlsx")
    Do While strFile <> ""
    On Error GoTo ErrorHandler
        If Right(strFile, 4) = "xlsx" Then
            Set wbk = Workbooks.Open(Filename:=strPath & strFile)
            wbk.SaveAs Filename:="D:\New Folder\" & strFile, FileFormat:=xlHtml

ErrorHandler:
            wbk.Close SaveChanges:=False
            Kill strPath & strFile
        End If
        strFile = Dir
    Loop
MsgBox "Done!!"

End Sub



沒有留言:

張貼留言