● 概要 ●
構文 Object.MoveFolder Source, Destination
Object.CopyFolder Source, Destination, OverWriteFiles
Object.DeleteFolder FolderSpec, Force
設定項目 内容
Object FileSystemObjectオブジェクトを指定[省略不可]
Source 移動する(コピーする)フォルダを指定[省略不可]
Destination フォルダの移動先(コピー先)を指定[省略不可]
OverWriteFiles 既存ファイルの上書き可否をTrueまたはFalseで指定[省略可能]
FolderSpec 削除するフォルダを指定[省略不可]
Force TrueまたはFalseを指定[省略可能]
FileSystemObjectオブジェクトのMoveFolderメソッドはフォルダを移動します。
CopyFolderメソッドはフォルダをコピーします。DeleteFolderメソッドはフォルダを削除します。
DeleteFolderメソッドの引数にFalseを指定すると、読み取り専用のフォルダは削除されません。
引数にTrueを指定すると、読み取り専用のフォルダも削除されます。
DeleteFolderメソッドの引数(削除するファイル名)と、MoveFileメソッドの引数(移動するファイル名)にはワイルドカードを使用できます。
サンプルは、「D:\Access\英語」フォルダを移動しています。移動先に同名フォルダが存在する場合はエラーが発生するため、移動前に同名フォルダを削除しています。
また、「D:\Access\仏語」フォルダを別のフォルダにコピーしています。
● サンプル ●
'フォルダを移動(コピー)する(FileSystemオブジェクト)
' [ツール]→[参照設定]で「Microsoft Scripting Runtime」をチェック
Sub Sample()
Dim myFileSystem As New Scripting.FileSystemObject
'移動先の同名フォルダを削除しておく
On Error Resume Next
myFileSystem.DeleteFolder "D:\Access\仏語"
'フォルダを移動する
On Error GoTo ErrHandler
myFileSystem.MoveFolder "D:\Access\英語", "D:\Access\仏語"
'フォルダをコピーする(上書き可)
myFileSystem.CopyFolder "D:\Access\仏語", "D:\AccessVBA\仏語", True
Exit Sub
ErrHandler:
MsgBox Err.Description
End Sub
● 補足 ●
FileSystemObjectオブジェクトは利用する前に参照設定を行う必要があります。
参照設定は、[ツール]メニューから[参照設定]コマンドを選択して[参照設定]ダイアログボックスを表示します。
ダイアログボックスが表示されたら、一覧から「Microsoft Scripting Runtime」をチェックして[OK]ボタンをクリックします。