xshell打开本地文件夹文件_Excel VBA和文件夹-1.6遍历文件夹打开指定格式的文件...

Excel VBA和文件夹-1.6遍历文件夹打开指定格式的文件

前景提要

之前我们学会了如何通过dir()来遍历文件夹并打开文件的方法,当你文件中有很多相同格式的文件要汇总的时候,就可以考虑采用这个方法了,不过实际工作中,我们总是会碰到很多种非常规的的问题,还是假设我们现在正在汇总文件夹中的数据,当我们使用上节我们学的dir()函数的时候, 会发现有些文件并不是excel文件,是一个图片,甚至是txt文件都有,原来有些人为了图方便,直接放在txt或者截个图完事,这种数据是需要经过二次处理的,直接拿过来汇总是不可能的,那么dir()能不能够指定就汇总某种类型的文件呢?

自然是可以的,这里采用的方法是类似正则的模糊匹配的方法

思路

老规矩,我们还是想象下,如果是我们人工操作的话,是如何区分的呢?很简单,看看文件结尾的格式就知道了,就是*****.xlsx这后面的.xlsx,前面我们说了,这里我们采用类似正则的模糊匹配的方法(正则的具体用法后面会阐述,这里只需要了解当前场景下的使用方法就好),好了,可以上代码了。

上代码

这里假设我们的目标文件在D:新建文件夹-dir的目录下,我们看看测试文件夹下面有各种不同的文件

8cd449dc1d192665b71409e19008acb0.png
Sub test()Dim FileName$FileName = "D:新建文件夹-dir"f = Dir(FileName & "" & "*.xlsx")Do While f <> "" Workbooks.Open FileName & "" & f Debug.Print f f = Dir() ActiveWorkbook.Close True Loop End Sub

为了更好的展示运行的效果,我们在测试代码的时候,注销掉了打开和关闭的命令,每找到一个文件就输入文件的路径,这样就可以更加清楚的知道实际运行的效果了,结果如下图:

4792a05bc2da266d5e8c83bf1a19b392.png

代码解析

FileName得到的就是文件夹的路径,这个我们在之前就已经解释过了,然后来看看下一行

f = Dir(FileName & "" & "*.xlsx")

这段代码和我们上一次的很像,确实是,非常像,仅仅是在后面增加了一点判断而已,这个判断就是*.xlsx,作用就是判断文件是以.xlsx结果的,就是office文件,这样程序仅仅会去打开报表文件,而其他的无关文件或者是需要我们二次汇总的文件,都不会干扰本次程序的执行,完美的达到了我们的目的。

为了更加清楚的说明效果,下面我们来调试下程序,这样能够更加清楚明白程序运行的过程,按下F8,进入调试

8ffb5be92aaea1f5b0992ef3a3908103.png

我们可以看到程序直接去寻找那些文件名是.xlsx的文件,而不会去碰其他类型的文件,这样很好的节省了我们的时间,也提升了效率,最终得到的结果,就是上面我们展示的那样了。

其实,VBA不仅仅可以打开和操作报表文件,其实它还可以操作txt文件,那么如何打开txt文件,如何操作txt文件呢?这些悬念大家可以先研究下,后面我们讲到VBA操作文本文件的时候,再和大家详细说明。

完整代码+注释

Sub test()Dim FileName$FileName = "D:新建文件夹-dir" '指定文件夹路径f = Dir(FileName & "" & "*.xlsx") '指定要遍历的文件类型,以.xlsx结果,也可以换成.xls(07版本的文件)Do While f <> "" '便利开始 Workbooks.Open FileName & "" & f '打开 'Debug.Print f f = Dir() '循环下一个文件 ActiveWorkbook.Close True '关闭当前打开的文件LoopEnd Sub '结束程序

通过上述的例子,我们可以发现VBA还是非常的灵活和强大的,毕竟VBA本身是window开发出来的脚本语言,虽然有局限性,但是在文件本身的处理上面还是非常的强大的,平时需要花费很多时间的事情,写好了VBA之后,点几下鼠标就可以搞定了,简直就是办公职场必备之良药啊。

本人已经打算长期分享一些网络搜集的各种VBA知识,如果大家有问题也可以提出来共同解决,一起进步,毕竟VBA的世界还是很大的。因为基本上都是自学的,很多代码和知识都是来源于网络的,如果在分享的过程中,正好拿了某位大神的代码,请告诉我,我将标注代码来源出处,也方便大家学习分享,谢谢!

=============================传送门==============================

Excel VBA和文件夹-1.3创建当天日期命名的文件夹

Excel VBA和文件夹-1.4打开文件夹内excel文件的方法

Excel VBA和文件夹-1.5遍历文件夹并打开

1.命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l*.doc 给出当前目录下以.doc结尾的所有文件 2.命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目录下 cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a选项包含-R选项 cp -i 在覆盖前询问用户 cp -v 告诉用户正在做什么 3.命令mv——移动和重命名文件 mv aflie bfile 将afile重命名为bfile mv afile /tmp 把当前目录下的afile移动到/tmp/目录下 4.命令rm——删除文件和目录 rm afile 删除文件afile rm * 删除当前目录下的所有文件(未隐藏文件)。rm命令不删除目录,除非也指定-r(递归)参数。 rm -rf domed 删除domed目录以及它所包含的所有内容 rm -i a* 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认 5.命令cd——更改目录 cd ~ 切换到主目录 cd /tmp 切换到目录/tmp cd dir 切换到当前目录下的dir目录 cd / 切换到根目录 cd … 切换到到上一级目录 cd …/… 切换到上二级目录 cd ~ 切换到用户目录,比如是root用户,则切换到/root下 6.命令mkdir——建立目录 mkdir phots 在当前目录中建立名为photos的目录 mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录 7.命令mkdir——删除目录 mkdir 将删除空目录 8.命令more、less——查看文件内容 more /etc/passwd 查看/etc/passwd的内容 -功能:分页显示命令 more file -more命令也可以通过管道符(|)与其他的命令一起使用, 例如: ps ux|more ls|more less /etc/passwd 查看/etc/passwd的内容 9.命令grep——搜索文件内容 grep bible /etc/exports 在文件exports中查找包含bible的所有行 tail -100 /var/log/apache/access.log|grep 404 在WEB服务器日志文件access.log的后100行中查找包含“404”的行 tail -100 /var/log/apache/access.log|grep -v googlebot 在WEB服务器日志文件access.log的后100行中,查找没有被google访问的行 grep -v ^# /etc/apache2/httpd.conf 在主apache配置文件中,查找所有非注释行 (10)命令find——查找文件 find .-name .rpm 在当前目录中查找rpm包 find .|grep page 在当前目录及其子目录中查找文件名包含page的文件 locate traceroute 在系统的任何地方查找文件名包含traceroute的文件 10.命令vi——编辑文件 vi /etc/bubby.txt 用vi编辑文件/etc/bubby.txt vim /etc/bubby.txt 用vi编辑文件/etc/bubby.txt 11.快捷操作 切换窗口:alt+1,alt+2 全屏:alt+回车 将vim挂起(暂停):ctrl+z,暂停后可进行其他shell操作,完了之后可通过 fg 命令切换回vim界面继续编辑 :MR:查看历史文件记录(注意:MR大写) :sp 横向切换界面窗口 :vsp 纵向切换界面窗口 12.命令rz、sz——文件上传下载 运行命令Sudo rz,即是接收文件xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录 。 运行命令Sudo sz file 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了。 13.命令cat——显示文件内容 cat file 14.命令ps——查看进程 ps [options] DESCRIPTION(描述):ps命令显示运行程序选项的一些信息。如果你想
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页