※本ブログのページには広告主との提携による広告や宣伝、プロモーションが含まれます。当ブログを経由しての商品の購入や、サービス申し込みが発生すると、それらの提携企業からの成果報酬を受けとる場合があります。

VBA|DeleteFolderメソッド(ファイルシステムオブジェクト)

DeleteFolderメソッドは指定したフォルダを削除します。

※ファイルシステムオブジェクト(FileSystemObject)についてはこちら

DeleteFolderメソッドの構文

ファイルシステムオブジェクト.DeleteFolder 削除するフォルダパス(Folderspec),読み取り専用フォルダの削除設定(Force)

DeleteFolderメソッドの構成要素と引数

要素/引数 必須/任意 説明
ファイルシステムオブジェクト
(FSO)
必須 ファイルシステムオブジェクトを指定します。
削除するフォルダパス
(Folderspec)
必須 削除するファイルのパスを文字列で指定します。
読み取り専用フォルダの削除設定
(Force)
任意 読み取り専用フォルダの削除するかを指定します。
True:削除する
False:削除しない(初期値)

削除するフォルダパス(Folderspec)でワイルドカード文字が使用できるのは指定したパスの最後の文字列だけです。

OKな例:”C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ\A*”
NGな例:”C:\Users\ユーザー名\Desktop\Test\サンプル*\A*”

DeleteFolderメソッドはフォルダの中のファイルの有無に関わらずフォルダを削除します。

削除するフォルダパス(Folderspec)に指定したフォルダが見つからなかった場合はエラーが発生します。

エラーが発生した時点でDeleteFolderメソッドは停止しますが、それまでに実行された処理を戻せません。

DeleteFolderメソッドをつかったサンプルマクロ

以下のマクロは、DeleteFolderメソッドの引数に指定したフォルダと含まれるファイルを削除します。削除する対象が読み取り専用であった場合でも処理を実行します。

Option Explicit

Sub ファイルシステムオブジェクト_DeleteFolderメソッド()
    
    'ファイルシステムオブジェクトを使うため準備
    
    '①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
    Dim FSO As FileSystemObject
    Set FSO = New FileSystemObject
    
    'DeleteFolderメソッドの使用例
    FSO.DeleteFolder "C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ\A", True

End Sub

削除するフォルダのパスを指定するとフォルダと中に入っているファイルを削除するよ。

以下のマクロは、DeleteFolderメソッドの引数に指定したファイルを削除します。ワイルドカード文字で指定しているため、Bからはじまるフォルダの名前とその中のファイルをすべてが削除の対象となり、削除する対象が読み取り専用であった場合でも処理を実行します。

Option Explicit

Sub ファイルシステムオブジェクト_DeleteFolderメソッド()
    
    'ファイルシステムオブジェクトを使うため準備
    
    '①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
    Dim FSO As FileSystemObject
    Set FSO = New FileSystemObject
    
    'DeleteFolderメソッドの使用例
    FSO.DeleteFolder "C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ\B*", True

End Sub

削除するフォルダパス(Folderspec)にワイルドカード文字を使うと複数のフォルダを削除できるよ。

PR

独学でプログラミングをはじめてみたけど、このままの学習方法に不安を感じているのなら、
オンラインスクールで現役エンジニアのサポートがあるテックアカデミーがおすすめ。
スキマ時間に学べて仕事も保証。必ず副業、始められます。まずは無料でプログラミング体験

コダマのもりブログはにほんブログ村に登録しています。
ブログの記事が役に立ったと感じて頂けたら、フォローお願いいたします。

コメント

タイトルとURLをコピーしました