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:ファイルやフォルダのサイズを取得(Size プロパティ)
ファイルやフォルダのサイズを取得(Size プロパティ) FileSystemO …
-
-
TextStream ファイルで、指定された読み込み位置に移動(Skip,SkipLine)
Skip メソッド 開いた TextStream ファイルで、指定された文字数を …
-
-
FileSystemObject:テキストファイルを操作する(TextStream オブジェクト)
TextStream オブジェクト FileSystemObject(FSO)の …
-
-
FileSystemObject:ファイルをコピー(CopyFile メソッド)
ファイルをコピーする(CopyFile メソッド) FileSystemObje …
-
-
FileSystemObject:ファイルの存在確認(FileExists メソッド)
ファイルの存在確認(FileExists メソッド) FileSystemObj …
-
-
FileSystemObject:ファイル・フォルダを削除する(DeleteFile メソッド,DeleteFolder メソッド)
ファイルを削除する(DeleteFile メソッド) FileSystemObj …
-
-
FileSystemObject:フルパスからファイル名、パスを取得する(GetFileName、GetParentFolderName)
フルパスからファイル名やパスを取得する FileSystemObject(FSO …
-
-
FileSystemObject:ドライブの存在確認(DriveExists メソッド)
ドライブの存在確認(DriveExists メソッド) FileSystemOb …
-
-
TextStream ファイルの位置(AtEndOfLine,AtEndOfStream,Column,Line)
AtEndOfLine プロパティ 開いたファイル(TextStream ファイ …
-
-
FileSystemObject:一時ファイルの名前を自動的に作成(GetTempName)
一時ファイルの名前を自動的に作成(GetTempName メソッド) FileS …