人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 辦公軟件教程 > 詳細頁面

如何運用VBA大局部轉換Excel格式,大局部將.xls轉換成.xlsx

如何運用VBA大局部轉換Excel格式,大局部將.xls轉換成.xlsx

更新時間:2024-01-21 文章作者:未知 信息來源:網絡 閱讀次數:

Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。

Excel2007以前的格式是.xls,之后的格式是.xlsx。打開單獨的一個Excel文檔,使用“另存為”功能,可以很輕松的轉換格式。但是面對幾百個Excel表這樣就太累了,搜索很久,也沒發現一個工具可以直接批量進行格式轉換。

最終發現可以使用VBA來實現批量轉換Excel格式的功能。大家不要被嚇到,VBA我也不懂,代碼是從別人那里搞到的,現在也只是知道了怎么使用,但這足夠解決問題了

VBA介紹:

1、VBA是一種編程語言,它依托于Office軟件,不能獨立的運行,通過VBA可以實現各種Office軟件操作的自動化。

2、Visual Basic for Applications(VBA)是Visual Basic的一種宏語言,主要能用來擴展Windows的應用程式功能。使用Excel的VBA開發的Excel文檔,在Excel中運行時需要開啟Excel的宏功能,否則此文檔的VBA自動化功能將被完全屏蔽,文檔的功能無法實現。

執行條件:

1、Office2007及以上版本的Excel

2、Excel啟用宏

功能介紹:

先介紹這兩個工具功能,大家可以根據需要下載。

【xls-To-xlsx.xlsm】

會在所在文件夾目錄中、包括子目錄中,遍歷所有.xls格式的文件,執行“另存為”操作,然后在原文件當前位置另存為一個同名的.xlsx格式的文件。

比如:

執行前【xls-To-xlsx.xlsm】所在的文件夾中有4個.xls格式的文件;

同時包含一個子文件夾,子文件夾中也有4個.xls格式的文件。

Excel批量將xls轉xlsx-目錄文件

執行后,會生成如下(紅色虛線內標注)文件:

Excel批量將xls轉xlsx結果

【Convert-TO-xlsx.xlsm】

會在所在文件夾目錄中(不包括子目錄),遍歷所有.xls格式的文件,執行“另存為”操作,然后在當前路徑下生成一個xlsx的文件夾,這個文件夾中放了所有新生成的文件。

比如:

執行前【Convert-TO-xlsx.xlsm】所在的【Convert-TO-xlsx】文件夾中有4個.xls格式的文件

Excel批量將xls轉xlsx目錄

執行后,會生成如下(紅色虛線內標注)文件:

Excel批量將xls轉xlsx結果

?

執行方法:

1、下載附件,或者新建一個Excel;

2、啟用宏操作

一般情況下,打開Excel的時候,會彈出如下警告,如果彈出了這個警告,直接啟用就可以了;

Excel安全警告-宏設置

如果沒有出現的話,請參考《Excel怎樣設置啟用宏功能》文章

3、編寫執行VBA代碼

這一步新手肯定是不會的,詳細的圖文介紹就參考《Excel VBA 概述》文章。

這里只作簡單的說明:

  • (a) 在工作表界面按下組合快捷鍵【Alt+F11】或者【右鍵單擊任意一個工作表標簽,在彈出的右鍵快捷菜單單擊“查看代碼”】進入VBA編輯環境
  • (b) 如果是下載的我的工具,可以跳過此步驟;如果是新建的Excel,此時在VBA編輯環境中的“代碼窗口”復制粘貼下方 VBA代碼內容【xls-To-xlsx.xlsm】VBA代碼內容?或者《Convert-TO-xlsx.xlsm》VBA代碼內容兩個代碼中的一個
  • (c) 按下【F5】快捷鍵執行這段代碼或者在菜單中單擊【運行子過程/用戶窗體(F5)】按鈕

PS:需要說明的是,在執行過程中,不要去做其他的操作,不然可能會中斷程序的運行

VBA代碼內容

【xls-To-xlsx.xlsm】VBA代碼內容

'***********訪問當前文件夾目錄下所有子文件夾及文件,Dim iFile(1 To 100000) As StringDim count As IntegerSub 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      '請注意區分目錄下文件后綴.xls大小寫            MyFile = iFile(i)            FilePath = Replace(MyFile, ".xls", ".xlsx")      '請注意區分目錄下文件后綴.xls大小寫            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 文件問題                Application.ScreenUpdating = True            End If        End If    NextEnd SubSub zdir(p)       '訪問當前文件夾下所有子文件夾及文件  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  NextEnd Sub

?

《Convert-TO-xlsx.xlsm》VBA代碼內容

Sub xls2xlsx()Dim FilePath, MyFile, iPath, Name, OutPath As StringiPath = ThisWorkbook.PathOutPath = Dir(iPath & "\xlsx", vbDirectory)If OutPath = "" Then    MkDir (iPath & "\xlsx")End IfMyFile = Dir(iPath & "\*.xls")If MyFile <> "" ThenDo    On Error Resume Next    If MyFile = ThisWorkbook.Name Then MyFile = Dir    Workbooks.Open (iPath & "\" & MyFile)    MyFile = Replace(MyFile, ".xls", ".xlsx")    Name = "\" & MyFile    FilePath = iPath & "\xlsx" & Name    Application.ScreenUpdating = False    ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False    Workbooks(MyFile).Close True    Application.ScreenUpdating = True    MyFile = DirLoop While MyFile <> ""End IfEnd Sub

?

后來有同學提了些問題,最后執行代碼的時候,并沒有達到效果。

先來看下正常的效果,會先彈出一個對話框,然后運行

Excel表格文件XLS轉換成XLSX運行窗口

?

出問題的原因是:

在使用過程中請留意Excel的后綴名【.xls 或?.XLS】大小寫區分。如果后綴大小寫不區分會導致了代碼不能執行或執行以后無效果。

針對這種情況只要將代碼中的后綴名大小寫與文件夾中的文件的后綴改成相同就可以了。

還可以用《拖把更名器》軟件,批量將文件后綴名改為小寫后再進行操作。

Excel表格文件XLS轉換成XLSX區分大小寫4

Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 四川省| 句容市| 海丰县| 大渡口区| 班玛县| 廉江市| 玛纳斯县| 清水河县| 栾川县| 蛟河市| 顺平县| 麻栗坡县| 揭东县| 亳州市| 南宫市| 米易县| 吉林市| 榕江县| 阿城市| 栾城县| 巴塘县| 九龙坡区| 错那县| 金溪县| 江津市| 会东县| 南充市| 旅游| 鸡西市| 奉贤区| 灌阳县| 诸城市| 灵川县| 扶余县| 新建县| 普陀区| 娱乐| 玉龙| 西吉县| 平远县| 瓦房店市|