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

VBA使用FSO.CopyFolder复制含空格文件夹时出现“Path not found”错误求助

解决FSO复制含空格目录时的"Path not found"错误

针对你遇到的问题,以下是几种可行的解决办法:

1. 用双引号包裹带空格的路径

FSO对含空格的路径解析容易出问题,给路径加上双引号就能避免空格被误判为路径分隔符。修改代码里的路径赋值:

strFolder = """f:\Logistics Manager\Invoice\22000741 KlientID\"""
strToPath = """\\10.224.73.57\Database\Logistics\Invoice\"""

这里的两个双引号是VBA里表示字符串内单个双引号的写法,确保路径被完整识别。

2. 明确目标路径的完整指向

CopyFolder的第二个参数如果是已存在的目录,需要确认你是要把源文件夹复制到这个目录下,还是要覆盖同名文件夹。如果是前者,可以直接指定目标的完整路径(包含源文件夹名):

strToPath = """\\10.224.73.57\Database\Logistics\Invoice\22000741 KlientID\"""

这样FSO会明确知道复制的目标位置,减少歧义。

3. 增加路径验证逻辑

在复制前先检查源和目标路径是否真的存在,排除拼写错误或隐性权限问题:

Sub foldecopytest()
    Dim objFSO, strFolder, strToPath
    strFolder = "f:\Logistics Manager\Invoice\22000741 KlientID\"
    strToPath = "\\10.224.73.57\Database\Logistics\Invoice\"
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    ' 检查源文件夹是否存在
    If Not objFSO.FolderExists(strFolder) Then
        MsgBox "源路径找不到:" & strFolder
        Exit Sub
    End If
    
    ' 检查目标父文件夹是否存在
    If Not objFSO.FolderExists(strToPath) Then
        MsgBox "目标路径找不到:" & strToPath
        Exit Sub
    End If
    
    ' 包裹引号后执行复制
    objFSO.CopyFolder """" & strFolder & """", """" & strToPath & """"
End Sub

4. 排查网络路径权限

目标是网络共享路径的话,要确认当前用户对该路径有读写权限——有时候权限不足会伪装成"Path not found"错误。可以手动访问\\10.224.73.57\Database\Logistics\Invoice\,测试能否正常创建或修改文件。

内容的提问来源于stack exchange,提问作者Aleksandr H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:05:20