前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA应用技巧:检查文件夹是否已存在

VBA应用技巧:检查文件夹是否已存在

作者头像
fanjy
发布2022-11-16 10:31:33
3.8K0
发布2022-11-16 10:31:33
举报
文章被收录于专栏:完美Excel

标签:VBA,Dir函数,MkDir语句

在使用VBA操作文件时,如果不先核实要操作的文件夹是否已存在,则有可能会导致代码出错。例如,在创建文件夹时、在到指定的文件夹中获取文件时。因此,我们需要先使用代码判断是否已存在相应的文件夹。

创建文件夹时要执行的代码是使用Dir函数和MkDir函数。如果文件夹已存在,Dir函数将生成null结果。或者,生成句点“.”由于这个结果的布尔属性,因此可以捕获null(空)结果并创建一个新文件夹,而忽略句点结果,这意味着什么都不会发生。

示例代码:

Sub FolderVBA()

Dim i As Integer

Dim str As String

Dim fol As String

For i = 1 To 5

str = "C:\MyFiles\" & Range("A" & i) & "\"

fol = Dir(str, vbDirectory)

If fol = "" Then MkDir "C:\MyFiles\" & Range("A" & i)

Next i

End Sub

在上面的示例中,需要检查5个文件夹。这5个文件夹的名字存储在工作表单元格区域A1:A5中。对于5个文件夹中已经存在的文件夹,代码将不起任何作用。然而,如果该文件夹不存在,则会创建一个新文件夹。

字符串生成“”或“.”是因为只有两种可能性,IF语句可以测试“”(空),然后用使用MkDir语句生成新文件夹。

注意,在str的代码中包含了反斜杠,如果不使用反斜杠,会出现各种问题。

注:学习整理自thesmallman.com,供参考。有兴趣的朋友可以到原网站下载示例工作簿,也可以到知识星球App完美Excel社群下载示例工作簿。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档