FileSystemObject:フォルダをコピー(CopyFolder メソッド)
フォルダをコピー(CopyFolder メソッド)
FileSystemObject(FSO)を使用して、指定したフォルダとその内容全てをコピーします。FileSystemObject(FSO)のインスタンスを生成する方法は、ファイルシステムオブジェクト(FileSystemObject)の使い方 を参照してください。
object.CopyFolder ( source, destination [, overwritefiles ] )
引数・戻り値
- object ・・・ FileSystemObject オブジェクトを指定します。
- source ・・・ コピー元フォルダを文字列で指定します。ワイルドカードを使用することも可能です。
- destination ・・・ コピー先のパスを文字列で指定します。
- overwrite ・・・ 既存のフォルダーを上書きする場合、True、上書きしない場合は、False を指定します。既定値は True です。
引数 source にワイルドカード文字が含まれていたり、destination がパスの区切り文字「\」で終わっている場合、destination が既存のフォルダと見なされ、一致するフォルダとその内容がそこにコピーされます。
それ以外の場合は、source で指定されたフォルダとその内容は、新規に作成された destination にコピーされます。
destination が既存のファイルの場合は、エラーが発生します。
source に含まれているファイルと同名のファイルが destination に存在する場合は、overwrite が False に設定されているとエラーが発生し、設定されていないと既存のファイルが上書きされます。
destination が読み取り専用ディレクトリで、overwrite が False の場合、既存の読み取り専用のファイルをそのディレクトリにコピーしようとするとエラーが発生します。
source でワイルドカード文字を使用した場合、一致するフォルダが 1 つもない場合にはエラーが発生します。
CopyFolder メソッドは、最初のエラーが発生した時点で中止されます。エラーが発生する前に行われた変更はロールバックされません。
CopyFolder メソッド 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub Sample_FSO_CopyFolder() 'フォルダをコピー Dim fso As New FileSystemObject Dim TargetFolder As String Dim DestFolder As String 'コピー元フォルダ TargetFolder = "C:\Documents\data2\aaa" 'コピー先フォルダ(新規に作成) DestFolder = "C:\Documents\data2\bbb" fso.CopyFolder Source:=TargetFolder, Destination:=DestFolder End Sub |
実行結果
C:\Documents\data2 には、「aaa」フォルダのみが存在しその中にはテキストファイルが含まれています。この状態で、サンプルVBAソースを実行します。
実行前の「C:\Documents\data2 フォルダ」の内容
実行後の「C:\Documents\data2 フォルダ」の内容
関連記事
-
FileSystemObject:フォルダの存在確認(FolderExists メソッド)
フォルダの存在確認(FolderExists メソッド) FileSystemO …
-
FileSystemObject:フォルダやファイルを移動(Move メソッド)
フォルダやファイルを移動(Move メソッド) FileSystemObject …
-
TextStream ファイルの位置(AtEndOfLine,AtEndOfStream,Column,Line)
AtEndOfLine プロパティ 開いたファイル(TextStream ファイ …
-
FileSystemObject:指定したファイル名から拡張子を除いた文字列を取得する(GetBaseName)
ファイル名から拡張子を除いた文字列を取得(GetBaseName メソッド) F …
-
FileSystemObject:ファイル・フォルダを削除する(DeleteFile メソッド,DeleteFolder メソッド)
ファイルを削除する(DeleteFile メソッド) FileSystemObj …
-
FileSystemObject:指定したファイル名から拡張子を取得する(GetExtensionName)
ファイル名から拡張子を取得(GetExtensionName メソッド) Fil …
-
FileSystemObject:ドライブを取得する(Drives プロパティ)
ドライブ(Drives コレクション)を取得する(Drives プロパティ) F …
-
FileSystemObject:テキストファイルを作成(CreateTextFile メソッド)
テキストファイルを作成(CreateTextFile メソッド) FileSys …
-
FileSystemObject:ファイルやフォルダのサイズを取得(Size プロパティ)
ファイルやフォルダのサイズを取得(Size プロパティ) FileSystemO …
-
FileSystemObject:ファイルを開く(OpenAsTextStream メソッド)
ファイルを開く(OpenAsTextStream メソッド) 指定されたファイル …