吳紅梅
摘要:電子表格在日常辦公中的應用非常廣泛,除了制表、排版、打印、數據管理與分析、數據統計及制作圖表外,電子表格在文件管理方面也有著技巧性的應用。本文將從多種方式多個角度向讀者展示關于電子表格在文件管理方面的應用技巧。
關鍵詞:EXCEL;文件管理;DOS命令
中圖分類號:TP391.13 文獻標識碼:A 文章編號:1007-9416(2017)07-0076-02
1 緒論
當前電子表格的應用領域主要為企業生產管理、市場與銷售管理、人力資源與行政管理、會計實務、財務管理及高校管理等,電子表格在每個應用領域的應用內容各有側重點,真正掌握電子表格精髓的用戶無論在哪個領域的應用都非常靈活,即無論從事的是哪項工作,均可以輕松自如地把個人關于電子表格的使用經驗應用到新的工作領域中[1]。
2 文件管理的EXCEL解決途徑介紹
電子表格日常的主要應用模塊為數據操作(含數據錄入、排版、打印等)、數據管理與分析(含排序、篩選、分類匯總與數據透視表)、公式與函數應用、數據圖表等四大模塊內容,盡管通過以上四大模塊的電子表格功能能夠滿足電子表格約90%以上的辦公需求,而日常工作中仍有一些工作是無法通過以上電子表格的日常功能模塊來實現的[2],如日常辦公中我們往往要收集各類文件,尤其是針對人員較多的企業,同一份文件可能需要企業的大部分工作人員提交至管理部門,因此收集部門的工作人員在收集過程中需經常關注哪些人員已經提交文件,哪些人員尚未提交文件,而這些工作似乎在電子表格里邊無法用電子表格常規方法去快速實現,大部分的時候均是通過人工識別的方式進行判斷[3]。事實上電子表格除了以上的基本功能外,在文件管理方面尤其是獲取同一個文件夾里的文件名稱方面有著技巧性的應用,下面筆者就電子表格獲取文件名從而對已提交文件與未提交文件判斷的基本工作來闡述文件管理中判斷文件是否已提交的解決途徑與方法。
2.1 獲取已上交文件的文件名稱
同樣為人員眾多的企事業單位,當相關管理部門向所有人員獲取某一信息時,為了管理上的規范,企事業單位往往對所需獲取的信息制定相應的模板表格后下發給個人進行填寫,然后由個人提交至相關管理部門。相關管理部門在收集這些人員表格的過程中一方面需關注表格填寫質量,另一方面需關注還有哪些人員尚未上交。針對尚未上交的人員,需做一個催繳通知。而獲取未上交的人員資料除了純人工判斷外,還可以通過電子表格的其他途徑快速解決,如獲取已上交文件的文件名(上交的文件名中基本包含已上交人員的姓名等基本信息),以了解已上交文件的人員名單。獲取已上交文件的文件名可通過以下兩種方法中的一種實現。
方法一:通過DOS命令獲取同一文件夾中所有文件或文件夾的名稱
DOS命令語法為:dir [drive:][path] /b > [drive:][path]filename
如收集的職工文件保存在D盤下的【企業員工信息表】中,則通過DOS獲取的文件信息步驟如下:
步驟1:點擊開始,執行菜單操作“開始”→“運行”,彈出運行對話框,在里面輸入 CMD 并按“確定”鍵。步驟2:輸入多次“ CD..”,切換到C盤根目錄下,然后輸入命令 C:\>DIR D:\企業員工信息表 /b >temp.xls,輸入完畢后按回車鍵執行該命令。則在C盤生成一個temp.xls命令。
解釋:DOS命令“C:\>DIR D:\企業員工信息表 /b >temp.xls”主要作用是把D:\企業員工信息表里所有文件和文件夾名稱列入temp.xls中。打開temp.xls文件即可看到“D:\企業員工信息表”的所有文件或文件夾的名稱及鏈接。
以上是直接過DOS命令的方式直接把企業員工信息表文件夾里邊的所有文件或文件夾名稱收集到temp.xls文件中,這種方式比較適合于所有人員,每一次需要獲取文件夾內的文件名稱及其相關信息時,只需按照以上步驟執行即可。
方法二:通過VBA編寫獲取文件名代碼,通過執行代碼來獲取文件夾里邊的文件名。主要步驟如下:
步驟1:在D:\企業員工信息表 中創建EXCEL文件temp.xls。(備注:默認所有收集的員工資料都保存在D:\企業員工信息表 中)步驟2:打開EXCEL文件【temp.xls】, 使用快捷鍵 ALT+F11打開VBA編輯窗口。步驟3:在模塊1欄輸入以下代碼,點擊VBA編輯窗口中工具欄的運行按鈕即可獲取D:\企業員工信息表 下的所有文件內容。VBA代碼如下:
Sub AddBookHyperLink() '文件目錄
Dim file As String
Dim h As Integer
h = 1
file = Dir(ActiveWorkbook.Path & "\") ‘獲取當前文件路徑
Do Until Len(file) = 0
Range("f" & h) = file
ActiveSheet.Hyperlinks.Add anchor:=Range("f" & h), Address:=file
h = h + 1
file = Dir
Loop
End Sub
該方法相對于有VBA基礎的EXCEL用戶而言,可以省去每次想獲取文件夾內所有文件或文件名時均要運行DOS命令的煩惱,作為獲取D:\企業員工信息表 中所有文件的temp.xls,如果我們想要重新獲取【企業員工信息表】文件夾里邊的所有文件或文件夾名稱,只需在temp.xls重新執行該VBA代碼即可。
2.2 對獲取的文件名與所有企業員工基本信息進行模糊匹配以找出未上交文件的人員信息endprint
由于員工提交的文件名中基本有個人的名字進行標識,因此通過對已獲取的文件名列表跟部門人員信息表列中的姓名進行模糊匹配,以確認人員姓名是否在在文件名列表中出現,來標識該人員是否已經上交文件。如案例圖1所示,在進行模糊匹配時,只需在在F2錄入公式“=Countif($A$1:$A$18,"*"&C2&"*")”,該公式表達的意義是指對每個姓名都搜索一遍是否出現在temp.xls文件名列中,如出現在文件名列中則函數結果大于0,表示此人員已經提交文件,如未出現,函數結果為0,則表示該人員尚未提交文件。在F2錄完公式后,按回車,然后向下填充該公式,通過篩選的方式把結果為0的數據篩選出來,即可得到尚未提交文件的員工列表。
3 結語
通過以上的案例我們可以發現在電子表格中關于文件管理的操作也是可以通過實際的EXCEL文件管理的方式去實現的,案例中的第一種在電子表格中獲取特定文件夾下所有文件或文件夾的解決方式主要在DOS環境中即可實現,適合于對VBA沒有基礎的電子表格用戶,只需要執行一句DOS命令,即可在電子表格中獲取特定文件夾中所有文件或文件夾的名稱,非常方便實用。其缺點則是每一次需要獲取這些文件的名字接時,用戶均需要到DOS環境中重新執行一次這些DOS命令,如果是經常需要從事這些工作的人員,這些重復操作的方式略顯不足。而方法二則是利用VBA代碼的方式,直接在新建的電子表格文檔里邊編輯相關獲取文件名稱的方式寫入該新建的電子表格,適合于電子表格應用中有VBA基礎的用戶,而且方法二明顯比方法一優越,其優越的地方主要是方法二中可以隨時在電子表格中執行相關模塊即可獲取當前文件夾的的所有文件及文件夾的名字,因此屬于一勞永逸的方式,再次的獲取不用去重新輸入代碼,效率比第一種方式高。
當然無論是方法一還是方法二,均只是獲取了當前文件夾中所有的文件或文件夾名稱,而真正要實現最終判斷哪些企業人員尚未提交文件,仍然需要使用COUNTIF函數檢測,通過檢測返回的結果才可以最終認定哪些人員已交文件,哪些人員未交文件。總而言之,在電子表格的應用中,對實際工作問題的解決方法是多樣的,而且往往也是多重方法組合才可以順利地完成某一項的工作任務,如本案例中則最終采納了DOS命令加函數或者VBA程序加函數才最終把快速找到未提交文件的企業人員這種問題給高效解決。
參考文獻
[1]朱鏡勛,吳詠梅.利用EXECL電子表格分析項目進度[J].貴州電力技術,2013,(1):28-33.
[2]杜詩雨,王子源.Visual C++操作Excel的應用研究[J].計算機與現代化,2011,(8):75-78.
[3]印德中.Excel在方差分析中的應用[J].中國現代教育裝備,2013,(9):100-102.endprint