即効テクニック |
● 概要 ● 構文 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]ボタンをクリックします。