EXCEL-VBA:递归遍历文件夹及子文件夹中的文件

2023-11-10

    Const SearchPath = "D:\PDF\"
    
    Dim DicList, FileList, I, FileName(), FilePath()
    Set DicList = CreateObject("Scripting.Dictionary")
    Set FileList = CreateObject("Scripting.Dictionary")
    
    DicList.Add SearchPath, ""  '初始化目录
    
    '**************遍历所有目录*******************
    I = 0
    Do While I < DicList.Count
        Key = DicList.Keys '本次要遍历的目录
        NowDic = Dir(Key(I), vbDirectory) '开始查找
        Do While NowDic <> ""
            If (NowDic <> ".") And (NowDic <> "..") Then
                If (GetAttr(Key(I) & NowDic) And vbDirectory) = vbDirectory Then '找到子目录,则添加
                    DicList.Add Key(I) & NowDic & "\", ""
                End If
            End If
            NowDic = Dir() '再找
        Loop
        I = I + 1
    Loop
    '****************************************************
    
    '**************遍历目录中的所有文件*******************
    For Each Key In DicList.Keys '查找所有目录中的文件
       NowFile = Dir(Key & "*.pdf")
       Do While NowFile <> ""
            FileList.Add NowFile, Key 'Add(Key,Item)  FileList.Key=文件名,FileList.Item=目录
            NowFile = Dir()
       Loop
    Next
    FileName() = FileList.Keys
    FilePath() = FileList.Items
    '****************************************************

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EXCEL-VBA:递归遍历文件夹及子文件夹中的文件 的相关文章

  • VBA Office2010 Shapes.PasteSpecial 失败

    我在将 VBA 代码从 Office2003 迁移到 Office2010 时遇到问题 我想将单元格 Excel 的文本复制到Powerpoint Office2003生成了一个新的文本框 文本样式与Excel中相同 现在我的代码在 Off
  • 元素不存在,尽管它具有 ID 属性

    在 selenium excel vba 中 我试图了解有关如何处理 CSS 选择器的更多信息 我很想知道 因为在检查带有 ID 的元素并运行代码时 我收到一条消息 指出未找到该元素 这是到目前为止的代码 Private bot As Ne
  • 如何刷新幻灯片放映中的活动幻灯片?

    基于我的最后一个问题 https stackoverflow com questions 14503054 change the image of an image shape我得到了正确的代码来更改形状的图像 不幸的是 这不会更新活动演示
  • 更改索引设置访问 VBA

    我正在尝试自动化 Access 中的流程 我希望自动化的步骤之一是更改表中某些字段的索引设置 我需要这样做来提高后续查询的速度 使用索引查询速度大约快 100 倍 无论如何 假设我的表名为 Cars 如下所示 ID Name Charact
  • 自定义函数错误:“表达式不能在计算列中使用”

    在 Access 2010 中 我尝试在计算列中使用自定义 VBA 函数 我得到 表达式不能在计算列中使用 这是我的步骤 启动 Access 2010 创建一个新的数据库 DB 创建一个包含文本列 Column1 的表 Table1 在 C
  • 使用查询选择器从 VBA 中抓取

    我使用了该网站的代码来提取数据site https bazashifer ru proflist profnastil Option Explicit Public Sub GetInfo Dim sResponse As String i
  • 在 PowerPoint 中查找文本并替换为 Excel 单元格中的文本

    我正在尝试查找 PowerPoint 幻灯片中的单词列表并将其替换为 Excel 文件中单元格中的值 我在 PowerPoint 中运行 VBA 但出现此错误 运行时错误 2147024809 80070057 指定的值超出范围 代码似乎停
  • MS Access VBA:通过 Outlook 发送电子邮件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何使用 MS Access VBA 通过帐户发送电子邮件 我知道这个问题很模糊 但是很难在网上找到在某种程度上还没有过时的相关信息 编辑
  • 如何在 MS Word 中的每个标题末尾应用宏?

    我有一个包含各种标题的文档 因此不一定是标题 1 或标题 2 而是所有类型的标题 我想做的是编写一个宏 例如 删除每个标题末尾的 2 个空格 例如 我们有 这是一个标题 在标题的最后 我会这样做 Selection Delete Unit
  • Range.End() 困惑

    我有一个关于 VBA 中 Range End 属性的一般性问题 我已经阅读了有关该房产的信息here http msdn microsoft com en us library bb221181 aspx 但我还是很困惑 例子 With w
  • 即使 Excel 中存在多条记录,CopyFromRecordset 也仅复制并粘贴第一行

    我有一个包含表格数据的 Excel 工作表 strSQL SELECT S FIELD NAME1 S FIELD NAME2 S FIELD NAME3 from SourceData A1 IV6 S Dim cn as ADODB C
  • Excel 宏与 Javascript

    我希望使用 Javascript 中的宏而不是默认的 VBA 来操作 Excel 电子表格 我可以使用以下 VBA 代码执行 javascript 代码 javascript to execute Dim b As String b fun
  • Excel VBA - 如何逐行读取csv文件而不是整个文件

    这是我需要读取的 csv 文件内容 header header header header header header value value value value value value value value value 我在网上找到
  • 在 VBA 中按键对字典进行排序

    我使用 VBA 创建了一个字典CreateObject Scripting Dictionary 将源单词映射到要在某些文本中替换的目标单词 这实际上是为了混淆 不幸的是 当我按照下面的代码进行实际替换时 它将按照源单词添加到字典中的顺序替
  • 使用 VBA 通过简单命令从非连续范围的并集获取值到数组中(无循环)

    我有以下任务 表面上很简单 使用 VBA 将电子表格上多个列的值复制到二维数组中 为了让生活更有趣 这些柱子并不相邻 但它们的长度都相同 显然 可以通过依次循环每个元素来做到这一点 但这看起来非常不优雅 我希望有一个更紧凑的解决方案 但我很
  • 如何使用 VBA 将 mm/dd/yyyy 更改为 dd/mm/yyyy

    我在使用 VBA 将 mm dd yyyy 转换为 dd mm yyyy 日期格式时遇到问题 我有一个这样的表 仅供参考 该表是从报告工具自动生成的 字符串操作 或任何 Excel 函数可以提供帮助吗 希望知道如何解决这个问题的人可以给我一
  • Excel VBA 过滤和复制粘贴数据

    给定一个数据集 假设有 10 列 在 A 列中我有日期 在 B 列中我有 我想仅过滤 A 列 2014 年的数据 B 列 ActiveSheet Range A 1 AR 1617 AutoFilter Field 5 Operator x
  • 字典、集合和数组的比较

    我正在尝试找出字典与集合和数组相比的相对优点和功能 我发现了一篇很棒的文章here http www experts exchange com articles 3391 Using the Dictionary Class in VBA
  • VBA根据单元格的值是否为零显示/隐藏行

    我有一个 Excel 工作表 我想根据另一个单元格中的值隐藏或取消隐藏某些行 简而言之 整个事情应该取决于单元格中的值C2 D2 E2 If C2 is blank我想rows 31 to 40被隐藏 如果是的话不为空 他们需要是visib
  • 无法摆脱脚本中的硬编码延迟

    我用 vba 结合 selenium 编写了一个脚本来解析网页中可用的所有公司名称 该网页启用了延迟加载方法 因此每个滚动中只有 20 个链接可见 如果我滚动 2 次 则可见链接数为 40 个 依此类推 该网页中有 1000 个可用链接 我

随机推荐

  • C/C++Unix网络编程-IPC简介

    IPC是进程间通信的简称 进程 线程与信息共享 Unix进程间的信息共享的方式 1 左边的两个进程共享存留于文件系统中某个文件上的某些信息 为访问这些信息 每个进程都得穿越内核 例如read write lseek等 当一个文件有待更新时
  • Hadoop MapReduce执行过程详解(带hadoop例子)

    为什么80 的码农都做不了架构师 gt gt gt 分析MapReduce执行过程 MapReduce运行的时候 会通过Mapper运行的任务读取HDFS中的数据文件 然后调用自己的方法 处理数据 最后输出 Reducer任务会接收Mapp
  • UE4_模型_Bound(边界)

    放置在关卡中的每个Actor都有一个bound bound由两部分组成 蓝色的长方体和黄色的球体 Bound是专门用来测试一个物体是否可见的 边界球用于通过简单的距离测试进行快速碰撞检测 而且 通常情况下 它的大小大于它包含的对象 另一方面
  • 逻辑左移、逻辑右移、算术左移、算术右移、循环左移、循环右移的学习

    逻辑左移时 最高位丢失 最低位补0 逻辑右移时 最高位补0 最低位丢失 算术左移时 依次左移一位 尾部补0 最高的符号位保持不变 算术右移时 依次右移一位 尾部丢失 符号位右移后 原位置上复制一个符号位 循环左移时 将最高位重新放置最低位
  • Vue promise的用法

    1 promise是什么 它可以说是异步编程的一种解决方法 就拿传统的ajax发请求来说 单个还好 如果是一个请求回来的数据还要被其他请求调用 不断地嵌套 可想而知 代码看起来是很乱的 promise主要是为了解决这种情景而出现的 2 简单
  • 山东科技大学oj题库1165 打印金字塔 之一

    include
  • vs查看宏展开

    宏在我们的代码中能经常给我们带来很大的便利 但是有些宏会造成意向不到的错误 能够查看宏展开就能够查看宏错误的根源 VS2008对编译是不保存预处理的文件信息的 而宏展开的信息就是在预编译阶段 如下图 工程属性 配置属性 c c 预处理器 生
  • 【数据分析】数据分析方法(七):AARRR 模型分析 & 漏斗分析

    数据分析方法 七 AARRR 模型分析 漏斗分析 1 AARRR 模型分析方法 如果把产品看作一个鱼塘 使用产品的用户看作鱼塘里的鱼 AARRR 模型的五个环节可以描述如下 获取用户 Acquisition 想办法给鱼塘里添加新的鱼 从而扩
  • vue注册自定义指令

    src 新建文件夹directive directive下新建modules文件夹 里面存放指令js文件 新建prevetMultiClick jk 防按钮多次重复点击的指令 export default inserted el bindi
  • python open3d点云可视化(本节会根据实际所用持续更新)

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 python三维点云从基础到深度学习 系列文章 地址为 https blog csdn net suiyingy article details 124017716 为了便于加强对点云数
  • 基于cocos2d-x的2D空间中的OBB(Orient Bounding Box)碰撞检测算法

    引言 最近在与好友聊天的过程中 好友问我如何实现类似这样的游戏 它主要想知道 如何检测旋转过后的物体与其他物体之间的碰撞 我们知道 在没有旋转的情况下 对于这样的方块 比较规则的物体 我们完全可以使用AABB Axie Align Bond
  • Docker容器安装启动以及基本指令

    Docker使用步骤 一 ubuntu安装Docker 更新ubuntu的apt源索引 sudo apt get update 安装包允许apt通过HTTPS使用仓库 sudo apt get install apt transport h
  • 《零基础入门学习python》学习过程(四)

    学习时间 2017 09 19 第14课 元组 知识点汇总 元组和列表最本质的区别就是元组是封闭的列表 它一旦定义就不可修改 不可插入或删除任意一个元素等操作 创建和访问一个元组 gt gt gt tuple2 创建一个空元组 gt gt
  • vue里的$attrs

    attrs官网介绍 关于 attrs vue官网如是介绍 包含了父作用域中不作为 prop 被识别 且获取 的特性绑定 class 和 style 除外 当一个组件没有声明任何 prop时 这里会包含所有父作用域的绑定 class 和 st
  • CSS transform变换(一)

    1 transiate x y 设置盒子位移
  • Vue 中既可以输入也可以下拉选择(改进版)

    项目场景 项目场景 由于前些天 弄了一个下拉选择 也可以输入的 input输入框 但我感觉效果并不是很优美 所以今天对以前的代码 改进并进行优化 达到一个完美的效果 代码CV就可以用前提是你得将数据参数改为你的 问题描述 昨天的代码 参照网
  • Decode函数的语法

    Decode函数的语法结构如下 decode expression search 1 result 1 decode expression search 1 result 1 search 2 result 2 decode express
  • LSH(Locality Sensitive Hashing)原理与实现

    LSH Locality Sensitive Hashing 翻译成中文 叫做 局部敏感哈希 它是一种针对海量高维数据的快速最近邻查找算法 在信息检索 数据挖掘以及推荐系统等应用中 我们经常会遇到的一个问题就是面临着海量的高维数据 查找最近
  • Linux下防火墙开启外网端口

    1 查看所有开启的端口 firewall cmd list ports 2 开启5000端口 firewall cmd zone public add port 5000 tcp permanent 3 重启防火墙 使其生效 firewal
  • EXCEL-VBA:递归遍历文件夹及子文件夹中的文件

    Const SearchPath D PDF Dim DicList FileList I FileName FilePath Set DicList CreateObject Scripting Dictionary Set FileLi