久久一区激情,国产在线久久久,成人看片网站,国产香蕉一区二区三区在线视频

win7系統(tǒng)下載
當(dāng)前位置: 首頁(yè) > 硬件軟件教程 > 詳細(xì)頁(yè)面

如何運(yùn)用VBA大局部轉(zhuǎn)換Excel格式,大局部將.xls轉(zhuǎn)換成.xlsx

發(fā)布時(shí)間:2025-03-18 文章來(lái)源:xp下載站 瀏覽:

辦公軟件是指可以進(jìn)行文字處理、表格制作、幻燈片制作、圖形圖像處理、簡(jiǎn)單數(shù)據(jù)庫(kù)的處理等方面工作的軟件。目前辦公軟件朝著操作簡(jiǎn)單化,功能細(xì)化等方向發(fā)展。辦公軟件的應(yīng)用范圍很廣,大到社會(huì)統(tǒng)計(jì),小到會(huì)議記錄,數(shù)字化的辦公,離不開辦公軟件的鼎力協(xié)助。另外,政府用的電子政務(wù),稅務(wù)用的稅務(wù)系統(tǒng),企業(yè)用的協(xié)同辦公軟件,這些都屬于辦公軟件。

Excel2007以前的格式是.xls,之后的格式是.xlsx。打開單獨(dú)的一個(gè)Excel文檔,使用“另存為”功能,可以很輕松的轉(zhuǎn)換格式。但是面對(duì)幾百個(gè)Excel表這樣就太累了,搜索很久,也沒(méi)發(fā)現(xiàn)一個(gè)工具可以直接批量進(jìn)行格式轉(zhuǎn)換。

最終發(fā)現(xiàn)可以使用VBA來(lái)實(shí)現(xiàn)批量轉(zhuǎn)換Excel格式的功能。大家不要被嚇到,VBA我也不懂,代碼是從別人那里搞到的,現(xiàn)在也只是知道了怎么使用,但這足夠解決問(wèn)題了

VBA介紹:

1、VBA是一種編程語(yǔ)言,它依托于Office軟件,不能獨(dú)立的運(yùn)行,通過(guò)VBA可以實(shí)現(xiàn)各種Office軟件操作的自動(dòng)化。

2、Visual Basic for Applications(VBA)是Visual Basic的一種宏語(yǔ)言,主要能用來(lái)擴(kuò)展Windows的應(yīng)用程式功能。使用Excel的VBA開發(fā)的Excel文檔,在Excel中運(yùn)行時(shí)需要開啟Excel的宏功能,否則此文檔的VBA自動(dòng)化功能將被完全屏蔽,文檔的功能無(wú)法實(shí)現(xiàn)。

執(zhí)行條件:

1、Office2007及以上版本的Excel

2、Excel啟用宏

功能介紹:

先介紹這兩個(gè)工具功能,大家可以根據(jù)需要下載。

【xls-To-xlsx.xlsm】

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

比如:

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

同時(shí)包含一個(gè)子文件夾,子文件夾中也有4個(gè).xls格式的文件。

Excel批量將xls轉(zhuǎn)xlsx-目錄文件

執(zhí)行后,會(huì)生成如下(紅色虛線內(nèi)標(biāo)注)文件:

Excel批量將xls轉(zhuǎn)xlsx結(jié)果

【Convert-TO-xlsx.xlsm】

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

比如:

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

Excel批量將xls轉(zhuǎn)xlsx目錄

執(zhí)行后,會(huì)生成如下(紅色虛線內(nèi)標(biāo)注)文件:

Excel批量將xls轉(zhuǎn)xlsx結(jié)果

 

執(zhí)行方法:

1、下載附件,或者新建一個(gè)Excel;

2、啟用宏操作

一般情況下,打開Excel的時(shí)候,會(huì)彈出如下警告,如果彈出了這個(gè)警告,直接啟用就可以了;

Excel安全警告-宏設(shè)置

如果沒(méi)有出現(xiàn)的話,請(qǐng)參考《Excel怎樣設(shè)置啟用宏功能》文章

3、編寫執(zhí)行VBA代碼

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

這里只作簡(jiǎn)單的說(shuō)明:

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

PS:需要說(shuō)明的是,在執(zhí)行過(guò)程中,不要去做其他的操作,不然可能會(huì)中斷程序的運(yùn)行

VBA代碼內(nèi)容

【xls-To-xlsx.xlsm】VBA代碼內(nèi)容

'***********訪問(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      '請(qǐng)注意區(qū)分目錄下文件后綴.xls大小寫             MyFile = iFile(i)             FilePath = Replace(MyFile, ".xls", ".xlsx")      '請(qǐng)注意區(qū)分目錄下文件后綴.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 文件問(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

 

《Convert-TO-xlsx.xlsm》VBA代碼內(nèi)容

Sub xls2xlsx() Dim FilePath, MyFile, iPath, Name, OutPath As String iPath = ThisWorkbook.Path OutPath = Dir(iPath & "\xlsx", vbDirectory) If OutPath = "" Then     MkDir (iPath & "\xlsx") End If MyFile = Dir(iPath & "\*.xls")  If MyFile <> "" Then Do     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 = Dir Loop While MyFile <> "" End If End Sub

 

后來(lái)有同學(xué)提了些問(wèn)題,最后執(zhí)行代碼的時(shí)候,并沒(méi)有達(dá)到效果。

先來(lái)看下正常的效果,會(huì)先彈出一個(gè)對(duì)話框,然后運(yùn)行

Excel表格文件XLS轉(zhuǎn)換成XLSX運(yùn)行窗口

出問(wèn)題的原因是:

在使用過(guò)程中請(qǐng)留意Excel的后綴名【.xls 或 .XLS】大小寫區(qū)分。如果后綴大小寫不區(qū)分會(huì)導(dǎo)致了代碼不能執(zhí)行或執(zhí)行以后無(wú)效果。

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

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

Excel表格文件XLS轉(zhuǎn)換成XLSX區(qū)分大小寫4

Office辦公軟件是辦公的第一選擇,這個(gè)地球人都知道。

主站蜘蛛池模板: 和政县| 新化县| 吴忠市| 灯塔市| 游戏| 石柱| 邢台县| 巴青县| 金门县| 东宁县| 临武县| 苏尼特左旗| 襄垣县| 龙岩市| 醴陵市| 延长县| 额敏县| 日照市| 景德镇市| 西林县| 电白县| 林州市| 玉环县| 嘉定区| 英吉沙县| 迭部县| 邵武市| 格尔木市| 巴南区| 南平市| 阿瓦提县| 那曲县| 南陵县| 泾源县| 宁晋县| 二连浩特市| 绿春县| 景宁| 赞皇县| 平凉市| 连江县|