通过访问复制和粘贴文件 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
我需要检查文件夹中的文件,如果存在则将其删除并替换为更新版本,或者如果文件未删除则它将文件从路径复制到个人的个人驱动器中
我的代码:
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