File Copy Statement

Named Arguments

Syntax

FileCopy source, destination source

Use: Required.

Data Type: String

The name of the source file to be copied.

destination

Use: Required.

Data Type: String

The name and location of the file when copied. Description Copies a file. Rules at a Glance

• The source and destination arguments may contain a drive name and a folder name, but they must always contain the filename.

• You can't copy a file that is currently in an open state. Programming Tips & Gotchas

• If you don't specify a drive or folder in either the source or destination, the file is assumed to be in the current drive or folder.

• Unlike copying a file from one folder to another from outside VB, when using the FileCopy statement, it isn't sufficient to simply enter a path for destination. You must supply a filename, even if it's the same as the source; otherwise, runtime error 75, "Path/File access error" results.

278 Chapter 7- The Language Reference

• FileCopy is a statement and not a function; there is no return value. You therefore have to assume that if there are no errors generated from calling the FileCopy statement, the file has been successfully copied. So be sure to wrap FileCopy in robust error handling.

• Be aware that if the destination file already exists, it will be overwritten without warning.

• A number of functions allow you to use the copy operation to rename a file. (Typically, this is done by specifying the same path in the destination as in the source, along with a different filename.) The FileCopy statement, however, doesn't work in this way.

• In order for the copy operation to succeed, source must not be opened by another application; if it is, runtime error 70, "Permission denied," is generated. If source has already been opened by the application, the copy operation will still succeed if the file isn't locked (i.e., has been opened with the Shared keyword) or has been opened with a write lock only. If source has already been opened with either a read lock or a read-write lock, the File-Copy operation generates runtime error 70, "Permission denied."

• destination must not be open if the copy operation is to succeed. If it has been opened by another application, runtime error 70, "Permission denied," is generated. If it has already been opened by the application itself, runtime error 55, "File already open," is generated.

• VB6 introduces a new File System object, which has several methods that allow you to copy and move files and folders.

See Also

ChDir Statement, File System Object

+1 -1

Responses

  • thorsten
    How to copy a file from one folder to another in VBA?
    7 years ago

Post a comment