我需要检查文件的文件夹,如果存在则将其删除并将其替换为更新版本,或者如果文件未删除则将文件从路径复制到个人驱动器中
我的代码:
Dim FileExistsbol As Boolean
Dim stFileName As String
Dim CopyFrom As String
Dim CopyTo As String
stFileName = "H:\Test File.txt"
stFileName = Trim(stFileName)
FileExistsbol = dir(stFileName) <> vbNullString
If FileExistsbol Then
Kill stFileName
CopyFrom = "J:\Test File.txt"
CopyTo = "H:\"
FileSystemObject.CopyFile CopyFrom, CopyTo
Else
CopyFrom = "J:\Test File.txt"
CopyTo = "H:\"
FileSystemObject.CopyFile CopyFrom, CopyTo
End If
发生了什么:
代码按预期执行和删除现有文件,但复制和粘贴部分似乎失败。
错误:
出现的调试是:
需要对象
答案 0 :(得分:2)
裸骨:
Dim fso As Object 'filesystemobject
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile strSourcePathWithFileAndExt, strDestPathWithFinalBackslash
Set fso = Nothing
答案 1 :(得分:1)
你还没有说过哪一行引发了错误,但我注意到你似乎没有实例化一个新的FileSystemObject:
dim fso as Object
set fso=CreateObject("Scripting.FileSystemObject")
然后使用fso引用来复制文件
fso.CopyFile CopyFrom, CopyTo
上面使用的方法&#34;后期绑定&#34;询问Scripting.FileSystemObject
您还可以使用早期绑定并直接引用Microsoft Scripting Runtime并避免使用CreateObject
这个Stack Overflow回答详细说明: https://stackoverflow.com/a/3236348/491557