基于EXCEL文件管理的应用研究

2017-09-09 13:02吴红梅
数字技术与应用 2017年7期

吴红梅

摘要:电子表格在日常办公中的应用非常广泛,除了制表、排版、打印、数据管理与分析、数据统计及制作图表外,电子表格在文件管理方面也有着技巧性的应用。本文将从多种方式多个角度向读者展示关于电子表格在文件管理方面的应用技巧。

关键词: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