前景提要

之前我们在上一系列也是学了一些关于VBA创建文件夹的相关操作,我们是通过dir()方法来实现的,如果是简单的文件夹的创建的话,我们完全可以通过这个方法,但是在进行VBA代码执行的过程中,如果涉及文件夹的其他的更加深入操作,比方说文件夹的删除,移动等功能,dir()就望尘莫及了,所以这一系列我们继续深入研究下vba和文件夹的操作,我们今天用更加强大的方式来操作,那就是FSO

思路

FSO,并不属于VBA本身就有的功能,他需要调用其他的资源才可以使用的,无法在代码中直接使用,我们可以通过两种方式来进行调用,一种就是前期引用,如下

这种方法叫做前期引用,有好处也有坏处,好处就是初学者通过这个方法绑定之后,在后续写代码的过程中,就会有相关的代码提示,不用去刻意记那么多的代码和方法,坏处呢?那就是只有你的电脑能用,如果给其他人用的话,他的电脑可能就会用不了,因为其他人的电脑可能没有装过这个东西,所以为了通用性,我们尽量选择在代码中采用后期声明引用的方法,如何用?看下面的代码!

成功的引用FSO之后,我们就可以进行文件夹的创建了,我们在创建文件夹的时候,如果碰到重名文件夹是不允许创建的,这是window系统自身就存在的规定,我们要遵守,所以我们在创建文件夹之前需要先判断文件夹是否存在,存在就可以创建,不存在就不能够创建,好,有了方法,我们来看看代码

代码区

Sub test()

Set objFSO = CreateObject("Scripting.FileSystemObject")

NewFolderName = ThisWorkbook.Path & "\" & "测试"

If objFSO.FolderExists(NewFolderName) Then

objFSO.DeleteFolder (NewFolderName)

Set myfolder = objFSO.createfolder(NewFolderName)

Else

Set myfolder = objFSO.createfolder(NewFolderName)

End If

End Sub

效果如图:

我们成功的在当前文件所在的地方创建了一个名为测试的文件夹。

代码解析

首先我们先通过后期绑定的方式申明FSO

Set objFSO = CreateObject("Scripting.FileSystemObject")

然后获得当前文件所在的位置,加上测试两个字,构成新的路径。

path在VBA中,主要是获得文件的路径的,这里的路径所在文件夹位置的上一级,比方说“D:/新建文件夹/测试.xlsx”他的path就是““D:/新建文件夹”并不是完整的路径,这点大家要注意,这里我们回到代码中去实操下更清楚,我的文件是放在桌面的,然后调试

我们可以看到路径出来了,但是并不是完整的路径,是上一级的路径,这点大家要留意使用。

然后进入今天的重点,FSO的运用了。

首先我们要判断我们要创建的文件夹在当前桌面是否存在同名的文件夹,大家都知道同名的话,是无法创建成功的,所以我们要先判断

objFSO.FolderExists(NewFolderName)

就是这样的效果,语法结果就是FolderExists(NewFolderName),文件夹是否存在,如果存在呢,肯定弹窗报错无法创建,换一个名字了,但是我们这里为了程序运行的顺利,我们将原来存在的文件夹删除,那么删除文件件怎么操作呢,DeleteFolder (NewFolderName),就是删除文件夹的操作,没有了同名文件夹就可以创建文件夹了,这就可以用FSO创建文件夹了。这里要注意,在创建文件夹的时候,前面要有一个set。当然啦,如果同名文件不存在嘛,自然更简单啦,直接调用创建方法直接创建就好啦

Set myfolder = objFSO.createfolder(NewFolderName)

完整代码加注释

Sub test()

Set objFSO = CreateObject("Scripting.FileSystemObject") '申明一个ADO,固定搭配

NewFolderName = ThisWorkbook.Path & "\" & "测试" '说明文件夹的名字

If objFSO.FolderExists(NewFolderName) Then '判断当前路径是否存在同名文件夹

objFSO.DeleteFolder (NewFolderName) '如果存在,删除同名文件夹

Set myfolder = objFSO.createfolder(NewFolderName) '删除之后,创建文件夹

Else

Set myfolder = objFSO.createfolder(NewFolderName) '不存在同名文件夹,直接创建

End If

End Sub

延伸复习一下,如果用我们之前学习过的mkdir()是否可以实现呢?尝试下

举报/反馈

vba 服务器上删除文件夹,Excel vba 如何操作文件夹的创建以及删除相关推荐

  1. 通过python建立一个web服务查看服务器上的文本、图片、视频等文件

    通过python建立一个web服务查看服务器上的文本.图片.视频等文件 文章目录: 1 在服务器端开启一个服务 2 在本地浏览器中输入服务器的ip地址 1 在服务器端开启一个服务 python -m ...

  2. php word excel转pdf文件怎么打开,php office文件(word/excel/ppt)转pdf文件,pptpdf

    php office文件(word/excel/ppt)转pdf文件,pptpdf 把代码放到了github上,点击进入 前阶段有个项目用到了线上预览功能, 关于预览office文件实现核心就是,把o ...

  3. 【简洁明了MySQL】MySQL基础操作之连接,创建和删除数据库

    MYSQL基础操作之连接,创建和删除数据库 一.MySQL连接 1.方法一:客户端直接连接法(不推荐) 2. 方法二:使用命令行登录 3.两种不同的登陆状态 4.创建用户 二.创建数据库 1.crea ...

  4. vba fso读utf 文本_利用FSO对象操作文件

    大家好,我们今日讲解"VBA信息获取与处理"教程中第十八个专题"FSO对象对文件及文件夹的处理"的第二节"利用FSO对象操作文件",这个专题 ...

  5. Linux服务器上传 .class用base64加密,转换文件到服务器的技巧

    1.适用场景 有的服务器不允许直接上传文件,可以使用base64命令来绕过 2.在本地先转换.class文件为base64,再保存为MathGame.txt [doda@host166 demo]$ ...

  6. 达梦数据库删除用户_达梦数据库实例、服务的创建和删除

    达梦数据库实例.服务的创建和删除 一.数据库实例 (一)数据库实例创建 (1)图形化方式 (2)命令行创建 (二)数据库实例删除 二.数据库服务 (一)数据库服务的创建 (1)图形化方式 (2)命令行 ...

  7. php文件调用函数,关于PHP操作文件的基本函数的使用

    这篇文章主要介绍了PHP操作文件的一些基本函数使用示例,本文给出了复制文件.删除文件.重命名文件.截取文件等操作代码实例,需要的朋友可以参考下 在对文件进行操作时,不仅可以对文件中的数据进行操作,还可 ...

  8. vba 服务器上删除文件夹,如何删除文件夹-Excel VBA程序开发-ExcelHome技术论坛 -

    可以通过api函数来取得文件夹的位置,再进行删除. Declare Function SHBrowseForFolder Lib "SHELL32.DLL" (lpBrowseIn ...

  9. xp系统vba服务器,xp系统下通过Excel 2013调用VBA的方法

    默认情况下,windowsxp系统用户打开Excel 2013的话,都是无法看到VBA的开发工具及编辑器的,需要手动操作才能调用出来.接下来,系统城小编就为大家分享xp系统下通过Excel 2013调 ...

最新文章

  1. (C++)1022 D进制的A+B 除基取余法将10进制数换成给定进制数
  2. 如何使用 Python 操作 Git 代码?GitPython 入门介绍
  3. 详解:Drools规则引擎探究
  4. linux那个目录存放用户密码信息,linux试题及答案
  5. python怎么读excel文件-python读写excel文件
  6. 【H2 Database】导出CSV
  7. 【CComPtr】CComPtr和CComQIPtr的区别
  8. 使用WebStorm将项目部署到IIS
  9. Hive之安装 部署
  10. cv岗工作做什么_只会python能做什么工作
  11. 表达式求值(NOIP2013 普及组第二题)
  12. 深度学习自学(二十一):连续保存人脸检测、关键点检测后人脸状态-循环队列实现
  13. 新手小白之学习python一飞冲天日志之—基本数据类型,条件控制语句
  14. HTML学生个人网站作业设计:动漫网站设计——哆啦A梦(5页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  15. SSM大学生心理健康服务平台毕业设计-附源码071131
  16. json转Java_在线JSON转Java实体类—在线工具
  17. Windows 7/Vista 桌面快捷方式小箭头变成黑块,如何恢复?
  18. 有没有集工作记录、项目时间线于一身的便签软件?
  19. 新华三comware开发部怎么样_未来网络什么样?新华三是这么说的
  20. 【Jmeter操作步骤】

热门文章

  1. 什么是Java Marker Interface(标记接口) 1
  2. Java 8——接口中个的默认方法和静态方法
  3. 超融合带来的IT人员问题 企业是否看到?
  4. java8 lamada表达式
  5. [LeetCode]题解(python):012-Integer to Roman
  6. Oracle数据库的DDL操作
  7. Linux系列-Red Hat5平台下的DHCP服务搭建
  8. Java与XML编程之SAX
  9. 更新 箫心病毒分析专家2006 build 5.23(C#2.0)
  10. 人民大学的《统计学》