VBA ファイルを削除するKillステートメント フルダーを削除するRmDirステートメント

スポンサーリンク

Kill【キル】ステートメント

ファイルを削除するには、Kill【キル】ステートメントを使用します。削除したファイルは、ディスクから完全に削除されます。

Kill【キル】ステートメントの書式と設定値の説明

Kill PathName

  • PathName【パスネーム】
    削除するファイル名を指定します。パスを含めて、指定できます。ファイル名のみ指定した場合は、カレントフォルダーのファイルが削除対象になります。ファイル名にはワイルドカードを使用できます。

開いているファイルをKillステートメントで削除しようとするとエラーになります。エラー処理が必要になります。

コードと解説

Sub ファイル削除()
Dim ファイル名 As String
ファイル名 = ThisWorkbook.Path & "¥Book1.xlsx"
On Error GoTo エラー処理
Kill PathName:=ファイル名
MsgBox ファイル名 & "削除しました。"
Exit Sub
エラー処理:
MsgBox "ファイルがないか開かれています。"
End Sub
このマクロが記述されているブックと同じパスにある、「Book1.xlsx」ファイルを削除するコードです。ファイルがなかったり開かれている場合はエラーになるので
On Error ステートメントでエラー処理をします。

RmDir【リムーブデレクトリー】ステートメント

フォルダーを削除するには、RmDir【リムーブデレクトリー】ステートメントを使用します。フォルダー内にファイルがある場合はエラーになります。フォルダー内にファイルがある場合はKillステートメントでファイルを削除してからRmDirステートメントでファルダーを削除します。また、存在しないフォルダーを指定するとエラーになりますのでエラー処理が必要です。

RmDir【リムーブデレクトリー】ステートメントの書式と設定値の説明

RmDir Path

  • Path【パス】
    削除するフォルダー名を指定します。パスを含めて指定できます。フォルダー名のみ指定した場合は、カレントフォルダー内のフォルダーが削除されます。ドライブ名を省略するとカレントドライブ内のフォルダーが対象になります。

コードと解説

Sub ファイル削除()
Dim ファイル名 As String
Dim フォルダ名 As String
フォルダ名 = ThisWorkbook.Path & "¥フォルダ"
ファイル名 = フォルダ名 & "¥*.*"
On Error GoTo エラー処理
Kill PathName:=ファイル名
RmDir Path:=フォルダ名
MsgBox フォルダ名 & "削除しました。"
Exit Sub
エラー処理:
MsgBox "フォルダがないか開かれています。"
End Sub
マクロの記述されているこのブックと同じパスにある、「フォルダ」フォルダーを削除するコードです。フォルダー内にファイルがあるとエラーになるので、Killステートメントでファイルを削除します。フォルダー内のすべてのファイルを指定する場合は、ワイルドカードを使用して「”¥*.*”」と記述します。フォルダー内のファイルを削除してからRmDir【リムーブデレクトリー】ステートメントでフォルダーを削除します。

以上で、Kill【キル】ステートメントとRmDir【リムーブデレクトリー】ステートメントについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告