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