VBA编程知识点(10)——Dir函数

学习自杨洋老师《全民一起VBA》

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函数只能返回第一层的子文件夹和文件名,子文件夹下的文件与文件夹不返回。

vba中dir用法_VBA编程知识点(10)——Dir函数相关推荐

  1. vba中dir用法_VBA中DIR用法举例.doc

    VBA中DIR用法举例 VBA中DIR函数用法讲解 1.dir代码演示 先上一段代码,作用是获取某个文件夹下子文件夹和文件的名称 没加注释的代码 Sub 获取文件夹和文件名() Dim str1 As ...

  2. vba数组下标越界_VBA编程知识点(7)——数组基本知识

    VBA编程知识点(7)--数组基本知识 学习自杨洋老师<全民一起VBA> 1. 数组Array.一般的变量就像一间房子只住一个人,数组就像一橦单元楼住很多人. 2. 声明数组.例:dim ...

  3. python中map用法详解_Python:map函数用法详解

    一个简单的例子:将一个list中所有元素平方,常规的做法如下图所示,虽然实现了这个功能,但并没有给人一目了然的感觉.若换成map来实现,则会好很多. 常规方法 map函数 1.map函数介绍及其简单使 ...

  4. python中globals用法_Python基础教程之内置函数locals()和globals()用法分析

    本文实例讲述了Python基础教程之内置函数locals()和globals()用法.分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式. python ...

  5. 关于VBA中【按钮的改名】 和 【函数名字的改变】

    首先把VBA的菜单调出来. 就是下面这个图: 我们打开工具箱(右数第三个) 工具箱如下: 选中我们要编辑的按钮 后 点击,第一排,右数第一个按钮(属性)      这是会出来一个菜单,我们就可以对[按 ...

  6. python中反三角函数用法_Python入门之三角函数atan2()函数详解

    python 的 Python入门之三角函数atan2()函数详解 描述 atan2() 返回给定的 X 及 Y 坐标值的反正切值. 语法 以下是 atan2() 方法的语法: import math ...

  7. mysql中ltrim用法_LTrim、RTrim 和 Trim 函数的功能及用法

    TRIM 函数是用来移除掉一个字串中的字头或字尾.最常见的用途是移除字首或字尾的空白.这个函数在不同的资料库中有不同的名称: MySQL: TRIM(), RTRIM(), LTRIM() oracl ...

  8. java中move用法_【MFC】MoveWindow();函数使用详解

    CWnd::MoveWindow void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE ); voi ...

  9. 如何在VBA中实现工作表函数SIGN

    Excel中有一个公式sign,其返判断数字的符号,正数返回值为1,负数返回值为-1,0返回值为0. 但是在VBA中即无法使用Application.WorksheetFunction调用工作表函数, ...

最新文章

  1. 卷进大厂系列之LeetCode刷题笔记:二分查找(简单)
  2. 通过图形界面配置Exchange2010 DAG
  3. 双向循环链表的插入排序
  4. LintCode-A + B 问题
  5. 操作系统上机作业--使用系统调用实现mycp
  6. oracle平均活动会话数,Oracle11g r2的活动会话数问题解决
  7. Linux系统编程---17(条件变量及其函数,生产者消费者条件变量模型,生产者与消费者模型(线程安全队列),条件变量优点,信号量及其主要函数,信号量与条件变量的区别,)
  8. Spring容器创建流程——总结
  9. 初学 Delphi 嵌入汇编[13] - 地址参数用 [] 取值
  10. 深入Linux网络核心堆栈--netfilter详解(整理)
  11. MacOS与Windows快捷键对照
  12. [WinError 6] 句柄无效。
  13. C# 语法糖(Syntactic sugar)
  14. java解压出来损坏_在Java中解压缩错误
  15. java写入文件怎么换行,经验分享
  16. java新手知识第二周
  17. “running install error: can‘t create or remove files in install directory The following error occu”
  18. [附源码]SSM计算机毕业设计小区物业管理系统JAVA
  19. java计算机毕业设计web高校车辆调度系统设计与实现(附源码、数据库)
  20. 中国农行携手曙光公司构建大数据系统

热门文章

  1. WPF强制刷新UI界面
  2. Java 获取两个月份之间的所有月份(含跨年)
  3. JS中__proto__和prototype都是什么?原型链继承解读
  4. 微信小程序上传单张图片
  5. 2G 3G 4G 5G 基站覆盖范围
  6. Could not load file or assembly 'System.Core, Version=2.0.5.0
  7. virto for Windows驱动--KVM
  8. 环保治理用电量监测系统
  9. 百度垂直搜索部门实习面经
  10. 小福利,带你使用scrapy框架爬取苏宁图书海量信息