◆オブジェクトを使用した File / Folder の削除
FileオブジェクトやFolderオブジェクトを使用して削除をする方法を紹介します。
Deleteメソッドの構文は
object.Delete [force]
です。
force に True を設定することで読み取り専用のファイルやフォルダを削除できます。
省略すると False になります。
Sub FileDelete()
Dim FileType, Prompt As String
Dim File_Object As Object
Dim FileNamePath As Variant
FileType = "すべての ファイル (*.*),*.*"
Prompt = "File を選択してください"
FileNamePath = SelectFileNamePath(FileType, Prompt)
If FileNamePath = False Then
End
End If
Set File_Object = CreateObject _
("Scripting.FileSystemObject").GetFile(FileNamePath)
File_Object.Delete
End Sub
Sub FolderDelete()
Dim FolderSpec As String
Dim Folder_Object As Object
Dim FileNamePath As Variant
FolderSpec = FolderPath
If FolderSpec = "" Then
End
End If
Set Folder_Object = CreateObject _
("Scripting.FileSystemObject").GetFolder(FolderSpec)
Folder_Object.Delete
End Sub
Function SelectFileNamePath(FileType, Prompt) As Variant
SelectFileNamePath = Application.GetOpenFilename(FileType, , Prompt)
End Function
Function FolderPath() As String
Dim Shell As Object
Set Shell = CreateObject("Shell.Application"). _
BrowseForFolder(0, "フォルダを選択してください", 0, "デスクトップ")
If Shell Is Nothing Then
FolderPath = ""
Else
FolderPath = Shell.Items.Item.Path
End If
End Function
example33 をダウンロードして動作を確認してください。