巧用VBA,只需2分鐘1000個(gè)xls批量轉(zhuǎn)換成xlsx

下面是單個(gè)xls轉(zhuǎn)換成xlsx的步驟,相信大家都知道

1. 點(diǎn)擊“文件”,然后選擇“另存為”,并保存到桌面

2.然后點(diǎn)擊“保存類(lèi)型”,選擇“Excel 97-2003工作簿”,然后點(diǎn)“保存

但是我有100個(gè)文件,能不能批量操作?

答:當(dāng)然可以,只要用VBA代碼就能按上面的操作自動(dòng)執(zhí)行100次,幫你批量將.xls轉(zhuǎn)化成.xlsx。

具體操作請(qǐng)看下方動(dòng)圖

[圖片上傳失敗...(image-17d23e-1537033853588)

VBA代碼如下(復(fù)制即可):

'***********訪問(wèn)當(dāng)前文件夾下所有子文件夾及文件,
Dim iFile(1 To 100000) As String
Dim count As Integer
Sub xls2xlsx()
iPath = ThisWorkbook.Path
On Error Resume Next
count = 0
zdir iPath
For i = 1 To count
If iFile(i) Like "*.xls" And iFile(i) <> ThisWorkbook.FullName Then
MyFile = iFile(i)
FilePath = Replace(MyFile, ".xls", ".xlsx")
If Dir(FilePath, 16) = Empty Then
Set WBookOther = Workbooks.Open(MyFile)
Application.ScreenUpdating = False
ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
WBookOther.Close SaveChanges:=False '解決不能close 文件問(wèn)題
Application.ScreenUpdating = True
End If
End If
Next
End Sub
Sub zdir(p) '訪問(wèn)當(dāng)前文件夾下所有子文件夾及文件
Set fs = CreateObject("scripting.filesystemobject")
For Each f In fs.GetFolder(p).Files
If f <> ThisWorkbook.FullName Then count = count + 1: iFile(count) = f
Next
For Each m In fs.GetFolder(p).SubFolders
zdir m
Next
End Sub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容