ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vba中dir函数用法

2021-11-03 17:31:29  阅读:202  来源: 互联网

标签:userdata vba 文件名 filename Desktop 文件夹 dir 用法 Dir


1. 在VBA中,dir函数可以返回一个文件夹下一个文件的名字(包含后缀)。

示例代码:

filename = Dir("F:\userdata\Desktop\新建文件夹\")

dir后面的参数应该以反斜杠“\”结尾,这样才能返回该文件夹下的文件名称。否则“新建文件夹”会被当成一个文件名进行处理。

Dir运行一次只能得到一个文件名。为得到下一个文件名,代码应该这样写:filename = Dir。

Dir后面不写任何参数,如果写了与前面相同的参数"F:\userdata\Desktop\新建文件夹\",则会重新扫描该文件夹,又得到第一个文件名,如果更改为其他文件夹,就扫描该文件夹,得到它的第一个文件名

如果文件夹中有n个文件,或者说有n个符合条件的文件,那么当Dir运行第n+1次时,则返回一个空字符串,代表已经查找完所有的文件。Dir运行第n+2次时,程序将报错。

2. 扫描一个文件夹下所有文件的通用模板

Dim filename as string

filename = Dir("F:\userdata\Desktop\新建文件夹\") '可以更改为任意文件夹

Do while filename <> ""

相关操作

filename = Dir '获取下一个文件名

Loop

3. Dir扫描符合条件的文件名(通配符*)

示例代码:

F = Dir("F:\userdata\Desktop\新建文件夹\*.xls"),扫描所有后缀为.xls的文件。

4. 判断一个文件是否存在

示例代码:

F = Dir("F:\userdata\Desktop\新建文件夹\123.xls")

如果文件123.xls存在,则返回字符串123.xls,如果不存在,则返回空字符串。

5. 扫描文件和子文件夹名称

一般情况下,Dir函数只返回文件名,而不返回子文件夹名。如果想要两者都返回,则需要加上vbDirectory参数。示例代码如下:

F = Dir("F:\userdata\Desktop\新建文件夹\" , vbDirectory)

特别要注意的是,子文件夹包括“.”和“..”两个特殊名字,分别代表本目录F:\userdata\Desktop\新建文件夹\及其父目录F:\userdata\Desktop\。

Dir函数只能返回第一层的子文件夹和文件名,子文件夹下的文件与文件夹不返回。

转载地址:https://blog.csdn.net/weixin_39790760/article/details/111747661?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242.2

标签:userdata,vba,文件名,filename,Desktop,文件夹,dir,用法,Dir
来源: https://www.cnblogs.com/ilyou2049/p/15504648.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有