心得(3):如何利用VBA的FSO进行文件或者文件夹操作

问题:如何对文件或者文件进行操作,例如:怎么判断文件夹是否存在,怎么创建文件夹等等

解决:利用VBA的FSO 进行操作,这个对象流 包含了各种对文件或者文件夹的操作。简洁实用。

利用VBA进行操作:(继续以之前的条件为例子)

  1. 如果有些文件不符合规则,那么最好是把他们放在同一个文件夹下,这样子方便操作,利用FSO能很好的做到这一点,FSO就像是Java的对象一样,他有自己的方法有自己的属性
  2. 首先要创建文件加就可以使用:

    这个方式来,先判断,在创建
  3. 然后定义一些自己的规则,说明那些文件是不符合规则的:
  4. 然后就是对文件进行操作了,转移文件等:

源码如下:

Sub 批量改名()Dim mypath As String, myname As String, awbname As String, arg As StringDim wbcount As Integer, i As IntegerDim olds As String, news As StringDim fsoDim newPath As StringDim oldPath As StringDim folderName As StringDim length As Integer'关闭excel的刷新Application.ScreenUpdating = False'禁止弹出对话框Application.DisplayAlerts = False'使用FSO方式进行文件操作Set fso = CreateObject("Scripting.FileSystemObject")'得到本文件的相对地址mypath = ActiveWorkbook.Path'当前工作的excel的文件名awbname = ActiveWorkbook.Name'任意打开文件夹下的某一个文件wbcount = 0myname = Dir(mypath & "\" & "*.xlsx")'定义一个变量为项目的名称(文件中的命名)arg = ""'用来存放文件夹的名称folderName = "C:\Users\25267\Desktop\error"'判断桌面上是否有一个名为error的文件夹:没有则创建一个,用来存放不符合规则的文件If NOT fso.FolderExists(folderName) Thenfso.CreateFolder(folderName)End If'如果当前的文件名为空的字符串("")表示已经没有更多的文件了跳出循环Do While myname <> ""If myname <> awbname Then'打开当前的文件夹Set wb = Workbooks.Open(mypath & "\" & myname)'得到这个文件的项目名的名称arg = wb.Sheets(1).Range("B5")wbcount = wbcount + 1'关闭文件wb.Close False'除去arg中命名规则不允许的字符arg = Replace(arg, "\", "")arg = Replace(arg, " ", "")arg = Replace(arg, "/", "")arg = Replace(arg, "?", "")arg = Replace(arg, "<", "")arg = Replace(arg, ">", "")arg = Replace(arg, "'", "")arg = Replace(arg, ":", "")arg = Replace(arg, "*", "")arg = Replace(arg, """", "")arg = Replace(arg, ".", "")arg = Replace(arg, "|", "")arg = Replace(arg, Chr(10), "")arg = Replace(arg, Chr(32), "")'计算这个字符串的字数length = len(arg)'如果这个文件的项目名不符合标准则把这个文件转移到指定的位置If (arg = "") OR (length > 100) ThenoldPath = mypath & "\" & mynamenewPath = folderName & "\"fso.MoveFile oldPath,newPathElseolds = mypath & "\" & mynamenews = mypath & "\" & arg & ".xlsx"'将这个文件的名称换成这个项目名On Error GoTo MyErr '错误导向Name olds As newsEnd IfEnd If'随机打开本文件夹的另一个文件myname = DirLoop'结束程序并且恢复之前的操作
MsgBox "一共更改了 " & wbcount & " 个文件"
Application.ScreenUpdating = True
Application.DisplayAlerts = True'因为这个VBA语言到最后会运行错误标志的内容所以在结束后要让他失效
olds = ""'错误标志
MyErr:If olds = "" ThenElsearg = arg & wbcountnews = mypath & "\" & arg & ".xlsx"Name olds As newsResume NextEnd IfEnd Sub

利用VBA移动文件,创建文件相关推荐

  1. 如何利用Excel快速批量创建文件夹

    今天跟大家分享一下如何利用Excel快速批量创建文件夹 1.打开Excel 2.录入要创建的文件夹名称 3.然后录入要创建文件夹的地址 4.接着我们将这两列数据合并并选中单元格区域 5.然后点击下图选 ...

  2. 如何利用VBA批量更改Excel文件的内容

    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一 ...

  3. Visual C++网络编程经典案例详解 第8章 网络文件传输 使用api函数操作文件 创建文件 CreateFile原型

    使用mfc编程 处理使用CFile类操作文件 还可以使用api函数 有关文件操作的函数进行编程 用户可以使用函数Create()进行创建文件对象 HANDLE CreateFile{LPCTSTR l ...

  4. 文件——创建文件并写入内容

    package main import ( "os" "fmt" "bufio" ) /* 基本介绍 func OpenFile(name ...

  5. python创建多个文件_Python创建文件夹与文件的快捷方法

    这篇文章主要给大家介绍了关于Python创建文件夹与文件的快捷方法以及批量创建文件夹的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学 ...

  6. JAVA在本地创建一个文件 向文件里面写入内容

    本地创建一个文件  向里面写入内容 这里的第二步可以跳过,但前提是E盘下面有了test这个文件夹, 如果没有这个文件夹,则第二步不能跳过. 注:创建文件的这一步可以省略,因为在写入的时候会自动创建文件 ...

  7. python新建文件夹和文件夹_Python创建文件夹与文件的快捷方法

    前言 Python快捷创建文件夹和文件详解 自己做文件时发现  简单的反复操作十分浪费时间,于是想到了 使用Python,这个分享给大家,快捷高效办公. 项目目录 file11 创建文件夹 file2 ...

  8. python os模块创建文件夹_Python创建文件夹与文件的快捷方法

    前言 Python快捷创建文件夹和文件详解 自己做文件时发现  简单的反复操作十分浪费时间,于是想到了 使用Python,这个分享给大家,快捷高效办公. 项目目录 file11 创建文件夹 file2 ...

  9. linux复制压缩文件夹,[操作系统]linux中文件或者文件夹的基本操作(复制,移动,删除,查找,压缩)...

    [操作系统]linux中文件或者文件夹的基本操作(复制,移动,删除,查找,压缩) 0 2015-12-28 00:00:15 linux 文件(文件夹)的创建,复制,移动,重命名,删除基本命令 复制文 ...

最新文章

  1. cass地籍参数设置快捷命令_南方cass详解+视频教程+插件汇总,小白快速上手!限时领取...
  2. java与json,java与json
  3. aop框架 php,xaop: 支持三种模式的AOP框架,弥补PHPer的不足,并且自带了文档的解析类库,可以一并使用,性能极好,欢迎 STAR 与 FORK。...
  4. 设计模式学习笔记——责任链(Chain of Responsibility)模式
  5. 参数化查询为什么能够防止SQL注入
  6. 2019中国手机品牌用户社交洞察报告:低价看配置 高价重颜值
  7. 微信开发者工具不显示二维码问题
  8. phpeclipse中操作svn
  9. 编程语言难度排名_文言文可编程乎?CMU中国大四学生:开源文言文编程语言获1万+标星...
  10. DP83848IVV硬件电路设计
  11. 人工晶状体在线公式A常数优化
  12. 不是一个PDF文件或该文件已损坏
  13. MPS | 聊聊功率因数校正那些事儿
  14. 二维码推广方法20种
  15. BERT知识蒸馏TinyBERT
  16. python连接传感器_关于树莓派Pi2通过UART连接攀藤G5传感器的python
  17. js文件 本地 上传服务器地址,js 本地文件同步服务器地址
  18. Java问题集锦--org.apache.maven.archiver.MavenArchiver.getManifest错误
  19. day19Java-IO-IO结合集合练习
  20. 嵌入式四级等级考试(微机原理与接口技术计算机操作系统)

热门文章

  1. jenkins设置清华镜像时报错 unable to find valid certification path to requested target
  2. 计算机二级office考试试题分布,计算机二级MS-OFFICE考试ECEL题型汇总附答案.pdf
  3. d3.js 旋转图形_北师大版七年级上册数学 ?第一章 ?丰富的图形世界
  4. 校赛 问题 F: 传送门(Dijkstra算法)
  5. RS485/云台控制(PTZ)学习文档
  6. 数字地图将成正果【转载】
  7. nginx安装配置并nginx添加至systemctl
  8. html调用点击运行本地py文件,实现HTML调用打开本地软件文件
  9. 前端 UI 设计原则(基于Ant-design)
  10. 江苏小学计算机面试题目,2019下半年江苏省小学信息技术教师资格证面试试题(精选)(二)...