vba中dir用法_VBA编程知识点(10)——Dir函数
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函数相关推荐
- vba中dir用法_VBA中DIR用法举例.doc
VBA中DIR用法举例 VBA中DIR函数用法讲解 1.dir代码演示 先上一段代码,作用是获取某个文件夹下子文件夹和文件的名称 没加注释的代码 Sub 获取文件夹和文件名() Dim str1 As ...
- vba数组下标越界_VBA编程知识点(7)——数组基本知识
VBA编程知识点(7)--数组基本知识 学习自杨洋老师<全民一起VBA> 1. 数组Array.一般的变量就像一间房子只住一个人,数组就像一橦单元楼住很多人. 2. 声明数组.例:dim ...
- python中map用法详解_Python:map函数用法详解
一个简单的例子:将一个list中所有元素平方,常规的做法如下图所示,虽然实现了这个功能,但并没有给人一目了然的感觉.若换成map来实现,则会好很多. 常规方法 map函数 1.map函数介绍及其简单使 ...
- python中globals用法_Python基础教程之内置函数locals()和globals()用法分析
本文实例讲述了Python基础教程之内置函数locals()和globals()用法.分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式. python ...
- 关于VBA中【按钮的改名】 和 【函数名字的改变】
首先把VBA的菜单调出来. 就是下面这个图: 我们打开工具箱(右数第三个) 工具箱如下: 选中我们要编辑的按钮 后 点击,第一排,右数第一个按钮(属性) 这是会出来一个菜单,我们就可以对[按 ...
- python中反三角函数用法_Python入门之三角函数atan2()函数详解
python 的 Python入门之三角函数atan2()函数详解 描述 atan2() 返回给定的 X 及 Y 坐标值的反正切值. 语法 以下是 atan2() 方法的语法: import math ...
- mysql中ltrim用法_LTrim、RTrim 和 Trim 函数的功能及用法
TRIM 函数是用来移除掉一个字串中的字头或字尾.最常见的用途是移除字首或字尾的空白.这个函数在不同的资料库中有不同的名称: MySQL: TRIM(), RTRIM(), LTRIM() oracl ...
- java中move用法_【MFC】MoveWindow();函数使用详解
CWnd::MoveWindow void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE ); voi ...
- 如何在VBA中实现工作表函数SIGN
Excel中有一个公式sign,其返判断数字的符号,正数返回值为1,负数返回值为-1,0返回值为0. 但是在VBA中即无法使用Application.WorksheetFunction调用工作表函数, ...
最新文章
- 卷进大厂系列之LeetCode刷题笔记:二分查找(简单)
- 通过图形界面配置Exchange2010 DAG
- 双向循环链表的插入排序
- LintCode-A + B 问题
- 操作系统上机作业--使用系统调用实现mycp
- oracle平均活动会话数,Oracle11g r2的活动会话数问题解决
- Linux系统编程---17(条件变量及其函数,生产者消费者条件变量模型,生产者与消费者模型(线程安全队列),条件变量优点,信号量及其主要函数,信号量与条件变量的区别,)
- Spring容器创建流程——总结
- 初学 Delphi 嵌入汇编[13] - 地址参数用 [] 取值
- 深入Linux网络核心堆栈--netfilter详解(整理)
- MacOS与Windows快捷键对照
- [WinError 6] 句柄无效。
- C# 语法糖(Syntactic sugar)
- java解压出来损坏_在Java中解压缩错误
- java写入文件怎么换行,经验分享
- java新手知识第二周
- “running install error: can‘t create or remove files in install directory The following error occu”
- [附源码]SSM计算机毕业设计小区物业管理系统JAVA
- java计算机毕业设计web高校车辆调度系统设计与实现(附源码、数据库)
- 中国农行携手曙光公司构建大数据系统
热门文章
- WPF强制刷新UI界面
- Java 获取两个月份之间的所有月份(含跨年)
- JS中__proto__和prototype都是什么?原型链继承解读
- 微信小程序上传单张图片
- 2G 3G 4G 5G 基站覆盖范围
- Could not load file or assembly 'System.Core, Version=2.0.5.0
- virto for Windows驱动--KVM
- 环保治理用电量监测系统
- 百度垂直搜索部门实习面经
- 小福利,带你使用scrapy框架爬取苏宁图书海量信息