通过访问复制和粘贴文件 vba

Copy and paste a file through access vba

我需要检查文件夹中的文件,如果存在则将其删除并替换为更新版本,或者如果文件未删除则它将文件从路径复制到个人的个人驱动器中

我的代码:

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

发生了什么:

代码按预期执行并删除了现有文件,但在复制和粘贴部分似乎失败了。

错误:

出现的调试是:

Object Required

你没有说是哪一行报错,但我注意到你似乎没有实例化一个新的 FileSystemObject:

dim fso as Object
set fso=CreateObject("Scripting.FileSystemObject")

然后使用 fso 引用复制您的文件

fso.CopyFile CopyFrom, CopyTo

上述方法使用 "Late binding" 查询 Scripting.FileSystemObject

的注册表

您还可以使用早期绑定并直接引用 Microsoft Scripting Runtime,避免使用 CreateObject

这个 Stack Overflow 答案中有详细说明:

基本信息:

Dim fso As Object       'filesystemobject    
Set fso = CreateObject("Scripting.FileSystemObject")    
fso.CopyFile strSourcePathWithFileAndExt, strDestPathWithFinalBackslash    
Set fso = Nothing