VBA中DIR用法举例

VBA中DIR函数用法讲解

1、dir代码演示

先上一段代码,作用是获取某个文件夹下子文件夹和文件的名称

没加注释的代码

Sub 获取文件夹和文件名()

Dim str1 As String, str2 As String, i As Integer

Set a = Application.FileDialog(msoFileDialogFolderPicker)

a.Show

str1 = a.SelectedItems(1)

str2 = Dir(str1 & IIf(Right(str1, 1) = "\", "", "\"), vbDirectory)

Do While Len(str2) <> 0

If str2 <> "." And str2 <> ".." Then

i = i + 1

Cells(i, 1) = str2

End if

str2 = Dir

Loop

End Sub

加了注释的代码

Sub 获取文件夹和文件名()

Dim str1 As String, str2 As String, i As Integer

Set a = Application.FileDialog(msoFileDialogFolderPicker) '将文件对话框赋予变量a,目的是让我们选取需要操作的文件夹

a.Show '显示文件对话框

str1 = a.SelectedItems(1) '将选取的第一个文件夹路径赋予变量str1

str2 = Dir(str1 & IIf(Right(str1, 1) = "\", "", "\"), vbDirectory) '在str1所代表的文件夹搜索,将找到的第一个文件或文件夹名称赋予变量str2

Do While Len(str2) <> 0 '当str2不为空字符串时进入循环

If str2 <> "." And str2 <> ".." Then '如果将dir的第二参数指定为vbdirectory,第一参数指定为文件夹路径加"\",那么返回的第一个值是".",第二个值".."

i = i + 1 '每循环一次变量i加1

Cells(i, 1) = str2 '将找到的文件或文件夹名赋予单元格

End if

str2 = Dir '如果希望dir函数返回指定文件夹里面多个文件名,只需要在同一过程里面再次调用dir函数即可,而且后面的调用不需要指定参数

Loop

End Sub

指定的文件夹如下图:

运行上述代码的效果图,可以看到代码将“封装样本”文件夹下文件和文件夹名称全部取出来了。

经过上面代码的演示,你可能对dir的作用有了模糊的了解,如果暂时还不懂,那不要紧,下面我们一起慢慢来了解dir的语法及应用。

2、dir语法

Dir(pathname,attributes)

作用:根据指定的字符串表达式(pathname)和文件属性返回文件或文件夹名。

Pathname:可选参数,一个字符串表达式,代表指定的文件路径,可包含通配符“*”和“?”。不同类型的字符串表达式的含义如下:

D:\baidu player dir函数将在D盘根目录下搜索名为baidu player的文件或文件夹名,然后根据第二参数决定是返回文件名、文件夹名或者一起返回。

D:\baidu player\ dir函数将在D盘baidu player文件下搜索文件,然后根据第二参数决定返回内容

D:\baidu player\*.xls dir函数将在D盘baidu player文件下搜索包含“.xls“的文件。所以此种方式可以搜索到.xls、.xlsx、.xlsm文件

D:\baidu player\???.rmvb dir函数将在D盘baidu player文件下搜索以“.xls“结尾,以三个字符命名的excel文件,所以此种方式只能搜索到.xls文件

Attributes:可选参数,代表文件的属性,VBA里面的常数,可选以下常数,或以下几个常数的和。以下是VBA帮助关于attributes可选常数的解释。

常数值描述vbNormal0指定没有属性的文件。

vba中dir用法_VBA中DIR用法举例.doc相关推荐

  1. vba中dir用法_利用Dir函数遍历某文件夹下的所有文件 | VBA实例教程

    今天介绍利用Excel VBA的Dir方法来遍历某文件夹下的所有excel文件.还是直接来看例子,假设在D盘有一个叫工作日志的文件夹,里面放着每日的工作记录,都是excel 2007表格,现在由于工作 ...

  2. php dir opendir,php中目录操作opendir()、readdir()及scandir()用法示例

    本文实例讲述了php中目录操作opendir().readdir()及scandir()用法.分享给大家供大家参考,具体如下: opendir(path,context)若成功,则该函数返回一个目录流 ...

  3. dos下 和 批处理中的 for 语句的基本用法

    原文地址:http://blog.csdn.net/wh_19910525/article/details/7912440 for 语句的基本用法 : 最复杂的for 语句,也有其基本形态,它的模样是 ...

  4. Shell脚本中循环语句for,while,until用法

    循环语句: BashShell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域 ...

  5. C++中,system的神级用法总和,实现用C++操作系统

    system是系统的意思,一般要有 <windows.h>头文件 所以创建代源码开头必须上这一句 #include<windows.h> 先别急着复制,看完再说 system的 ...

  6. 1.oracle中的exists 和not exists 用法:

    1.oracle中的exists 和not exists 用法: exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 ...

  7. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  8. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示.  比如 SELECT * FROM [user ...

  9. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

最新文章

  1. Linux那些事儿 之 戏说USB(31)驱动的生命线(三)
  2. 人群场景分析--Slicing Convolutional Neural Network for Crowd Video Understanding
  3. php实现解压功能的函数
  4. facebook 图像比赛_使用Facebook的Detectron进行图像标签
  5. zemax评价函数编辑器_zemax常用评价函数操作数..doc
  6. 一.对ThreadLocal的理解
  7. Qemu架构解析(二)
  8. android代码打包so,AndroidStudio jni开发入门及打包so库和jar包
  9. 光伏电池最大功率跟踪
  10. 百变头像框制作微信小程序源码下载,免服务器和域名
  11. 一起来玩U3D之场景转换+关卡选择
  12. AP计算机科学第12版5-6章参考答案
  13. 火线 地线 零线 漫谈
  14. 商务谈判中如何表示同意Agreement
  15. 公网异地远程访问家中/公司的群晖NAS
  16. MySQL5.7服务无法启动或Table ‘mysql.plugin‘ doesn‘t exist
  17. 2020年系统规划与管理师上午真题及答案解析
  18. 人力资源管理中的大数据应用之道
  19. 网络安全——黑客的技术操作原来是这样的
  20. 达观杯数据竞赛 -- LR+SVM处理词向量特征

热门文章

  1. 数据库查询(连接查询)
  2. 男子抢注papi酱被宣告无效:必须严厉打击商标侵权行为
  3. 今天,我干咳了...
  4. echart 设置 Y轴标签在柱状图上垂直居中 失效
  5. python中文分词工具jieba_Python 流行的中文分词工具之一 jieba
  6. 常用元器件使用方法25:LoRa模块E22-400M22S的使用方法
  7. 中M22春C、Java入门练习【PAT练习题】
  8. 技术动态 | 利用知识图谱克服人工智能幻觉
  9. java sortable_如何在Jquery Sortable中将嵌套列表li限制为仅两个级别?
  10. 新年找工作的注意啦:一般通用面试内容 收藏