CopyFile メソッド

1 つ以上のファイルを別の場所にコピーします。

構文

オブジェクトCopyFileソースコピー先、[ overwrite ]

CopyFile メソッドの構文は、次の指定項目で構成されています。

指定項目 説明
object 必須です。 object は、常に FileSystemObject の名前です。
source 必須です。 コピーする 1 つ以上のファイルを示す、ファイル指定用文字列。ワイルドカード文字も使用できます。
destination 必須です。 source から 1 つ以上のファイルをコピーする先を指定する文字列。 ワイルドカード文字は使用できません。
overwrite 省略可能。 既存のファイルを上書きできるかどうかを示すブール値です。 True の場合はファイルが上書きされ、False の場合は上書きされません。 既定値は True です。 destination に読み取り専用属性が設定されている場合は、overwrite の値にかかわらず CopyFile は失敗します。

解説

ワイルドカード文字を使用できるのは、 source 引数の最後のパス コンポーネントだけです。 たとえば、以下を使用できます。

FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"

次のように使用することはできません。

FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"

source にワイルドカード文字が含まれている場合、または宛先がパス区切り記号 (****) で終わる場合、コピー先は一致するファイルをコピーする既存のフォルダーであると見なされます。 それ以外の場合は、destination は作成するファイルの名前と見なされます。 いずれの場合も、個々のファイルのコピー時に起こり得ることは 3 つあります。

  • destination が存在しない場合は、source がコピーされます。 これは通常のケースです。

  • destination が既存のファイルの場合、 overwriteFalse のときはエラーが発生します。 True のときは既存のファイルを上書きして source がコピーされます。

  • destination がディレクトリの場合は、エラーが発生します。

source でワイルドカード文字が使用されていて、どのファイルとも一致しなかった場合も、エラーが発生します。 いずれかのエラーが発生した時点で CopyFile メソッドの実行は停止されます。 エラーが発生する前に行われた変更内容のロールバックまたは取り消しは行われません。

新しい宛先パスにコピーされたファイルは、同じファイル名を保持します。 コピーしたファイルの名前を変更するには、コピー先のパスに新しいファイル名を含めるだけです。 たとえば、これによりファイルが新しい場所にコピー され、 新しい場所のファイルに別の名前が付けられます。

FileSystemObject.CopyFile "c:\mydocuments\letters\sample.doc", "c:\tempfolder\sample_new.doc"

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。