excel如何判断是否存在指定文件名的文件?
excel如何判断是否存在指定文件名的文件?
问:每个月都要收到各区县网点发来的关于本月开展的活动方案和总结的文件,收到文件后,根据网点名将文件简化命名,例如,对于“XX县安吉乡营业所”的方案,简化命名为“安吉”,将其总结简化命名为“安吉总”,并在本工作簿所在的文件夹中存放这些文件。
如下图所示,为方便说明,在列E和列F中临时列出了这些文件的名称,但最终的文件中列E和列F中不应该出现这些文件名。
每月末都要对收到的这些文件进行统计,了解各网点上报方案和总结的情况,但由于收到的文件很多,一个个文件核对工作量大且易出错,能否使用VBA程序自动判断这些文件是否存在?
答:使用下面的VBA代码,可以方便地实现自动判断文件是否存在的功能。
说明:
上述4个子过程中,IfFileExist子过程是主程序,它调用其它过程。
PlaceData子过程使用了VBA的InStr函数来获取指定字符在字符串中的位置,使用Mid函数来提取字符串中指定位置的字符。
FileIsExist函数过程使用VBA的Dir函数来判断指定的文件是否存在。这个自定义的函数过程可以作为一个通用程序,用来判断文件是否存在。
假如这个月已经收到的文件如下图所示:
运行程序后,结果如下图:
改进建议
由于网点名称是固定的,简化的名称也是固定的,因此可以专门建立一个存放这些数据的工作簿或工作表,直接让程序在这个表中提取数据,然后与文件夹中的文件名对比来判断是否文件存在,这样应该可以简化代码,也更符合工作表设计原则。