vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用
小伙伴们,之前有跟大家分享过Power Query获取文件夹内文件清单及其属性的方法【Excel快速获取文件列表及文件属性】。今天教大家通过VBA代码来实现同样的功能,提取文件夹内的文件信息更加灵活,只要选择对应的文件夹即可。
实现效果
操作方法:
1. 在Excel界面按快捷键ALT+F11进入VBE界面。
2. 在VBE工程里面插入一个模块。
3. 将以下代码复制到模块中。
4. 关闭VBE界面,返回Excel界面,从开发工具中找到表单控件,插入一个按钮。
5. 按钮指定宏[GetFileList]即可。
详细的操作过程
以下是实现本次功能要用到的VBA代码,有详细注解,应用非常广泛,建议收藏备用。
Sub GetFileList() '定义文件夹路径变量 Dim PathSht As String '清空模板文件里面的数据 ActiveSheet.Range("A3:H65536").Clear '调用文件路径获取方法,弹出文件夹选择对话框 With Application.FileDialog(msoFileDialogFolderPicker) If .Show Then PathSht = .SelectedItems(1) Else Exit Sub End With '先获取当前文件夹内的文件 GetFileFromFolder PathSht & "" '获取子文件夹内的文件 GetFolderList PathShtEnd Sub'方法一:从文件夹里面提取文件和文件信息Function GetFileFromFolder(folder_name) '定义文件操作对象 Dim fso As Object '设置文件操作对象 Set fso = CreateObject("Scripting.FileSystemObject") '所有文件类型,如果只要Excel文件则修改为 FileType = "*.xls*" FileType = "*.*" '查找第一个文件 sPath = Dir(folder_name & FileType) '循环到没有文件为止 Do While Len(sPath) '将文件对象赋值给objfile,方便后续获取对应属性数据 Set objfile = fso.GetFile(folder_name & sPath) '当前活动工作表 With ActiveSheet '定位到第一个空行位置 endrow = .Range("A65536").End(xlUp).Row + 1 'A列存放文件夹名称 .Range("A" & endrow) = folder_name 'B列存放文件名称 .Range("B" & endrow) = sPath 'C列存放文件类型 .Range("C" & endrow) = objfile.Type 'D列存放文件大小 .Range("D" & endrow) = FormatNumber(objfile.Size / 1024, -1) & "K" 'E列存放文件创建时间 .Range("E" & endrow) = objfile.DateCreated 'F列存放文件修改时间 .Range("F" & endrow) = objfile.DateLastModified 'G列存放文件访问时间 .Range("G" & endrow) = objfile.Datelastaccessed 'H列创建超链接,支持点击打开文件 ActiveSheet.Hyperlinks.Add Anchor:=.Range("H" & endrow), Address:=folder_name & sPath, ScreenTip:="单击打开" & sPath, TextToDisplay:="打开文件" End With '查找下一个文件 sPath = Dir LoopEnd Function'方法二:递归方式循环遍历子文件夹Function GetFolderList(strFolder) '定义文件夹操作对象 Dim fso, objFolder, objSubFolder '设置文件操作对象 Set fso = CreateObject("Scripting.FileSystemObject") '判断文件夹是否存在 If fso.FolderExists(strFolder) Then '定义为父文件夹 Set objFolder = fso.getFolder(strFolder) '定义为子文件夹 Set objSubFolder = objFolder.subFolders '每一个在父文件夹中的子文件夹 For Each oSubFolder In objSubFolder '从文件夹里面获取文件 GetFileFromFolder oSubFolder & "" '继续获取当前文件夹的子文件夹 GetFolderList oSubFolder.Path Next End IfEnd Function
最后提个醒:
别忘了把你的Excel文件另存为加载宏工作簿,这样才可变成永久可以的工具。
vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用相关推荐
- CorelDRAW VBA - 读取XML文件,根据内容批量创建图形
目的 这篇教程将教会你如何使用 CorelDRAW VBA 来读取 XML 文件,并通过读取的内容来动态创建指定宽度和高度的矩形. 准备一个XML文件 打开记事本,粘贴以下内容,然后保存文件,文件名输 ...
- input file详细介绍、更改css样式、获取图片地址、彻底清空上传文件(建议收藏)
文章目录 博客内容 介绍 input 全部类型 file 类型 属性 accept属性 multiple属性 事件监听 css样式更改 上传图片文件,获取图片地址 input type file上传文 ...
- 这两个工具能批量PDF转图片,建议收藏使用
你们有没有遇到过有时需要使用PDF文档格式中的某个页面或某张图片的情况呢? 大部分人通常为了方便会选择截图取用,但是截图保存的很多图片基本画质都不怎么清晰.如果我们想要图片高清,还是得使用专业的转换工 ...
- 简单五步,实现物联网批量创建设备
产品指某一类设备,创建完产品后,需要为具体设备创建身份.您可以创建单个设备,也可以批量创建设备.本文为您讲述如何批量创建设备. 操作步骤 1.登录物联网平台控制台. 2.在左侧导航栏,选择设备管理 & ...
- [Linux基础]Linux批量创建多个用户的方法(附:创建后切换用户变成-bash4.2-$的解决方法)
导航目录 一.批量创建多个用户 1.创建用户组 2.按照以下格式创建文件 3.使用`newusers` 命令运行 4.运行成功,可使用`tail -n 5` 查看`/etc/passwd`信息 二.异 ...
- Excel VBA 打开对话框,获取文件夹路径
Excel 打开对话框,获取文件夹路径 'Window「参照」ダイアログで選択したItem 名を取得 Public Function GetFolderName(ByVal DialogType As ...
- 提取文件名+复制+改名+批量创建文件程序(Excel VBA版)
用Excel VBA做了个文件处理小工具,集合了文件名提取.文件复制.改名及批量创建文件.搜索复制文件的功能. (注:如果是规则改名,建议使用 拖把更名器,使用起来更直观,下载链接中附拖把更名器程序) ...
- Excel 2010 VBA 入门 064 按照关键字批量创建超链接
目录 示例 实现代码 Hyperlink对象 创建超链接 删除超链接及访问超链接 创建超链接打开指定的宏代码 示例 如图所示,该表为某公司资产负债表以及关于报表的说明.为了方便阅读,现希望能够用VBA ...
- Revit (1) - CAD - 获取图层
系列文章目录 Revit开发中异常记录 Revit (1) - CAD - 获取图层 Revit (2) - CAD - 获取CAD文字 Revit (3) - 二开 -创建柱子 Revit (4) ...
最新文章
- 软考信息安全工程师备考笔记2:第二章密码学基础与应用备考要点
- 苹果或于2020年开售iPhone SE2
- 【设计模式】适配器模式(Adapter Pattern)
- 在java中对字符串的一些实现处理
- android qq robot,安卓qq授权登陆源代码
- Shortest Prefixes(poj 2001)
- 带你了解常见的编码表,以及他们自己的关系.
- OSEK网络管理入门
- Sniffer Pro 4.7.5注册不成功问题(unable to communicate with server)
- 倾斜摄影发展历程简介
- 什么是gzip?为什么要用gzip?使用gzip的优势和劣势是什么?需要哪些岗位进行配合才能够实现gzip内容的应用?
- 在VS中如何生成moc文件
- awl 多线程SYN***工具0.2版[转]
- BASE64Encoded() 方法报错说方法未定义
- 抱抱脸(hugging face)教程-中文翻译-任务总结
- RECEIVED SIGNAL 15
- Luogu 月赛 P5238 整数校验器
- SOUI视频教程 官方论坛
- 判断滚动条是上滑还是下滑
- 如何将多个快递物流的退回签收件归类为已签收
热门文章
- Dependency injection in .NET Core的最佳实践
- Cactus在jexus上安装
- [转]敏捷开发之Scrum扫盲,及敏捷开发中XP与SCRUM的区别
- Navicat Premium 64 bit 12.1.25
- C#输入姓名或者拼音码(姓名的首字母,大小写均可)进行快速模糊查找
- LeetCode之Happy Number
- Android插件化开发之用DexClassLoader加载未安装的APK资源文件来实现app切换背景皮肤
- 【前端就业课 第一阶段】HTML5 零基础到实战(四)伪类与伪元素
- 看得懂的外观设计模式 python3 实现
- clob字段怎么导出_Oracle 11g及12c+版本下为啥有些表不能exp导出?