VBAプログラムでファイル操作やフォルダ操作は欠かせない処理です。
フォルダは場所さえわかればVBAから削除ができます。
みなさん、こんにちは。セルネッツ竹本です。
今回は、「フォルダの削除」をテーマに、解説をしたいと思います。
◆フォルダ操作にはどんな種類があるのだろう・・・
ファイル作成やデータ作成などど同様、ここでは、概念的な処理の種類をあげると3つしかありません。
(その1)新規フォルダを作成(作る)
(その2)既存フォルダを削除(削除する)
(その3)既存フォルダの名前の変更(名前を変える)
これに対し、上の1.2.は「場所と名前」がわかれば処理は問題ないでしょう。
では、Moduleを紹介します。
Public P_フォルダPATH As String
Public P_フォルダ名 As String
‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※
Sub M_フォルダ削除(P_フォルダPATH, P_フォルダ名)
‘※※※※※※※※※※※※※※※※※※※※※※※※※※※※
Dim O_FSO As Object
Dim S_FullPath As String
Set O_FSO = CreateObject("Scripting.FileSystemObject")
S_FullPath = P_フォルダPATH & "\" & P_フォルダ名
'フォルダ削除
O_FSO.DeleteFolder S_FullPath
Set O_FSO = Nothing
End Sub
専用Moduleを作り、必要な情報を渡して実行する。Module名(M_フォルダ削除)からも、それが何をする処理かがわかる名前にすると、読み解きに苦労はしないですみます。
【Point】
M_XXXは、ModuleのMです。F_XXXなら、FunctionのFを意味します。
【Point】
フォルダ内に、ファイルが格納されていたり、開いたままのファイルがあったりすれば、「実行時エラー」が発生するので、エラートラップは反映しておくと良いでしょう。
(参考コラム)【VBA入門】エラートラップ On Error Resume Next 便利だけど十分注意
https://www.cellnets.co.jp/dev_column/8908
今回のテーマは、「フォルダの削除」について、解説を行いました。
本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。