【发布时间】:2011-10-19 18:36:19
【问题描述】:
如何解决 VBA 在使用 FileSystemObject 时不允许文件路径中有空格的限制?
这是我的代码:
from= "C:\Users\MyAccount\Desktop\a.txt"
to= "C:\Users\MyAccount\Desktop\Folder Name With Spaces\b.txt"
Dim fso As New FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile from, to
我已经尝试过在任何空格前添加“”的技巧,它不起作用。实际上弹出“错误的文件名或编号”错误。
我也尝试用 %20 替换任何空格,这也不起作用。
为了澄清,我事先不知道路径,它是由用户输入的。
【问题讨论】:
-
文件名或路径中的空格没有限制,无论是在 VBA 中还是在使用 FSO 时。你一定有其他问题。例如,如果目标文件夹不存在,我认为 FSO 不会创建它。另外:如果您 Dim ... As New ...,则不需要使用 Createobject:您的对象是在 Dim 语句中创建的。
-
是的,你明白了。原来我正在删除用户输入的最后一个字符 for \ 但忘记检查没有 \ 时的大小写。