導(dǎo)讀:在Excel中利用VBA可以輕松快捷地對(duì)批量文件進(jìn)行重新命名,。 實(shí)例描述:小姚是車(chē)間的計(jì)算機(jī)管理員,,他有一項(xiàng)工作是負(fù)責(zé)給員工照相。最近,,他接到了一個(gè)任務(wù),,要求他把在E盤(pán)的照片文件夾中存放有以員工檔案號(hào)命名的員工照片根據(jù)Excel工作表中的記錄以隊(duì)組號(hào)加姓名的方式重新命名,并且按隊(duì)組分好(圖1),。 圖1 實(shí)例分析:在實(shí)例中有1000多條記錄和1000多個(gè)照片文件,,那對(duì)于小姚的任務(wù),如果我們對(duì)照工作表一個(gè)個(gè)在照片文件夾中更改,,我們的工作量是可想而知的,。有沒(méi)有什么辦法能夠輕輕松松的幫助小姚完成這項(xiàng)任務(wù)呢?當(dāng)然有,,我們只需在Excel中編寫(xiě)幾句VBA語(yǔ)句,,就可以在幾秒鐘內(nèi)輕松完成任務(wù)。如果你想知道,,這項(xiàng)任務(wù)是怎么完成的,,就跟我來(lái)吧! 編寫(xiě)VBA代碼 這個(gè)過(guò)程主要是在Excel中編寫(xiě)VBA代碼,,通過(guò)代碼判斷照片是否存在,如果存在則用Name命令對(duì)照片文件進(jìn)行重命名,。 首先,,打開(kāi)Excel 2003,點(diǎn)擊“工具→宏→Visual Basic編輯器”菜單,,這時(shí)就會(huì)彈出Microsoft Visual Basic程序窗口,,也就是VBA的編輯器。在VBA編輯器窗口中選擇“插入→模塊”菜單,,這時(shí)在右側(cè)可以看到空白的代碼編輯區(qū)域,,我們可以嘗試著輸入圖中代碼(圖2)。(下載地址:http://iask.sina.com.cn/u/ish?uid=1704202287) 圖2 在上述代碼中,,只用了一個(gè)過(guò)程“照片重命名”,。在這個(gè)過(guò)程中,首先用Dim命令定義了oldname,、newname,、photopath、nophoto,、i這5個(gè)變量,,分別用于臨時(shí)存放舊文件名,、新文件名、照片文件夾,、錯(cuò)誤提示及循環(huán)變量,。圖中方框①處的作用是調(diào)出文件夾選擇窗口,并把選擇的文件夾賦給變量photopath,。接下來(lái),,利用MsgBox函數(shù)進(jìn)行了人性化的人機(jī)交流,詢(xún)問(wèn)是否對(duì)文件進(jìn)行重命名,,如果是程序繼續(xù)執(zhí)行,,否則退出過(guò)程。圖中方框②處利用FOR…NEXT循環(huán)語(yǔ)句來(lái)讀取工作表中的每條記錄,,Worksheets("照相順序表").Range("a65536").End(xlUp).Row表示從A65536這個(gè)單元格向上的非空單元格,,即工作表中所使用的總行數(shù);.Range("a" & i)表示單元格中的值,。代碼中用newname變量取得單元格的值,,即新文件名,用oldname變量取得C列單元格的值,,即舊文件名,,然后用Dir函數(shù)進(jìn)行判斷是否存在以舊文件名命名的文件,如果存在則用Name命令進(jìn)行重新命名,,如果不存在則把錯(cuò)誤信息給變量nophoto,,最后用MsgBox函數(shù)顯示錯(cuò)誤信息。 為按鈕添加事件 為了操作方便我們可把上面我們編寫(xiě)的過(guò)程放到一個(gè)按鈕上,。首先,,我們?cè)贓xcel中選擇“視圖→工具欄→窗體”菜單,在“窗體”工具欄上點(diǎn)擊“按鈕”,,按住鼠標(biāo)左鍵根據(jù)需要拖出一個(gè)按鈕,。在彈出的“指定宏”的窗口中,我們選擇過(guò)程“照片重命名”,,點(diǎn)擊確定后退出,。最后,在按鈕的標(biāo)簽處單擊,,修改按鈕的標(biāo)簽,,如更改為“文件重命名”(圖3)。 圖3 激活VBA代碼 要想使這些事件即VBA代碼起作用,,我們需要調(diào)整宏的安全性,。選擇“工具→宏→安全性”,把宏的安全性設(shè)置為“低”,,這樣你才能順利的運(yùn)行VBA代碼,。點(diǎn)擊“文件重命名”按鈕,,就會(huì)發(fā)現(xiàn)“照片”文件夾中的文件名字已改成了隊(duì)組編號(hào)加姓名的方式了(圖4)。 圖4 對(duì)照片文件夾中的文件重新命名之后,,我們可以在文件夾中右擊,,選擇“排列圖標(biāo)→名稱(chēng)”菜單,將文件按照名稱(chēng)重新排列,,這時(shí)就會(huì)把同一個(gè)隊(duì)組的文件放到一起了,,我們可以把它們移動(dòng)到相應(yīng)的隊(duì)組文件夾中,就相應(yīng)地完成了按隊(duì)組分類(lèi),。 |
|
來(lái)自: aa網(wǎng)游成都 > 《excel表格》