You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA中使用FileSystemObject创建新文件夹遇运行时错误52

解决VBA运行时错误‘52’:错误的文件名或编号

问题根源分析

你的代码存在几个潜在问题:

  • 重复初始化FileSystemObject(既用Dim FSO As New FileSystemObject又用Set FSO = CreateObject),冗余且可能引发异常
  • 未处理工作簿未保存时ThisWorkbook.Path为空的场景
  • 手动拼接路径易出现斜杠错误,且未检查目标文件夹是否已存在

修正后的代码

以下是优化后的代码,覆盖了常见错误场景:

Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")

' 先验证工作簿是否已保存(未保存时Path为空)
If ThisWorkbook.Path = "" Then
    MsgBox "请先保存当前工作簿再执行操作!"
    Exit Sub
End If

' 使用FSO内置方法拼接路径,自动处理斜杠问题
Dim targetFolder As String
targetFolder = FSO.BuildPath(ThisWorkbook.Path, "Test")

' 检查目标文件夹是否已存在,避免重复创建报错
If Not FSO.FolderExists(targetFolder) Then
    FSO.CreateFolder targetFolder
    MsgBox "文件夹创建成功"
Else
    MsgBox "目标文件夹已存在"
End If

额外排查方向

如果问题仍存在,检查以下几点:

  • 路径合法性:确认ThisWorkbook.Path包含的文件夹名没有Windows禁用字符(如?、*、:、"等)
  • 权限问题:尝试手动在工作簿所在目录新建文件夹,如果失败,说明Excel没有写入权限,需右键以管理员身份运行Excel
  • 路径长度限制:Windows路径总长度不能超过260字符,若路径过长需缩短文件名或移动工作簿到层级更少的目录

内容的提问来源于stack exchange,提问作者Suraido

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:45:49