CopyFolder メソッド

フォルダーを再帰的に別の場所にコピーします。

構文

オブジェクトCopyFolderソースコピー先、[ 上書き ]

CopyFolder メソッドの構文には、次の指定項目があります。

指定項目 説明
object 必須です。 常に FileSystemObject の名前。
source 必須です。 コピーする 1 つ以上のフォルダーを指定する文字列です。ワイルドカード文字を使用できます。
destination 必須です。 source のフォルダーとサブフォルダーのコピー先を指定する文字列です。 ワイルドカード文字は使用できません。
overwrite 省略可能。 既存のフォルダーを上書きするかどうかを示す ブール 値です。 True の場合はファイルが上書きされ、 False の場合は上書きされません。 既定値は True です。

解説

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

FileSystemObject.CopyFolder "c:\mydocuments\letters\*", "c:\tempfolder\"

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

FileSystemObject.CopyFolder "c:\mydocuments\*\*", "c:\tempfolder\"

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

  • destination が存在しない場合は、source フォルダーとそのすべての内容がコピーされます。 これは通常のケースです。

  • destination が既存のファイルの場合は、エラーが発生します。

  • destination がディレクトリの場合は、フォルダーとそのすべての内容のコピーをしようとします。 source に含まれているファイルが destination に既に存在する場合は、overwriteFalse に設定されているとエラーが発生します。 それ以外の場合、ファイルを既存のファイルにコピーしようとします。

  • destination が読み取り専用のディレクトリで、overwriteFalse の場合、既存の読み取り専用のファイルをそのディレクトリにコピーしようとするとエラーが発生します。

source でワイルドカード文字が使用されていて、どのフォルダーとも一致しなかった場合も、エラーが発生します。

CopyFolder メソッドは、最初のエラーが発生した時点で処理を中止します。 エラーが発生するまでに行われた変更を取り消したり元に戻したりする処理は一切行われません。

関連項目

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

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