VBAファイルの削除| VBAコードを使用してフォルダ内のファイルを削除する方法は?

VBAでは、VBAコードを使用してコンピューターに存在するファイルを削除できます。ファイルの削除に使用されるコードは、Killコマンドと呼ばれます。ファイルを削除する方法は、最初にファイルのパスを指定することです。ファイルはコンピューターにあり、Killコマンドを使用してファイルを削除します。

VBAコードを使用してファイルを削除する方法は?

VBAは最初は難しいものですが、VBAを使用する時間が増えるにつれて、私のようにVBAを愛するようになります。コンピューターの別のフォルダーからファイルを開いたり、それらを操作したり、VBAコーディングを使用してファイルを削除したりすることもできます。この記事では、特定のフォルダー内のVBAコードを使用してファイルを削除する方法を説明します。

大規模なプロジェクトで作業しているときは、通常、プロセスをサポートするために多くの中間ファイルを作成します。すべての作業が完了したら、将来の混乱を避けるために、これらのファイルを削除する必要があります。

また、1つのシナリオは、通常の作業用に添付ファイルを保存する電子メールを通常受信する場合、またはその時点のレポートを表示したいだけで、後でそれらのファイルを削除する必要がある場合です。

これらのファイルを手動で削除すると、時間がかかるか、保存を忘れて、コンピューターのスペースを占有する可能性があります。簡単なVBAコードでこれらのファイルを削除する方法を紹介します。

VBAコードを使用してフォルダ内のファイルを削除するKillメソッド

単純なKILL関数は、フォルダー、特定のファイル、すべてのExcelファイルなどを削除します。VBAのKILLメソッドの構文を見てください。Killメソッドは読み取り専用ファイルを削除できません。

パス名:パス名は、ファイルを削除するためのコンピューター内のフォルダーパスに他なりません。

注:パス名にはワイルドカード文字を含めることもできます。Excelでは、ワイルドカード文字としてアスタリスク(*)と疑問符(?)を使用できます。

アスタリスク(*)は、ゼロが考慮されている場合でも、任意の長さの任意の文字列に一致させるのに役立ちます。

疑問符(?)は、1文字のみを照合する場合に役立ちます。

特定のファイル名を削除する

たとえば、次のようなフォルダがあります。

このフォルダで、「ファイル5」という名前のファイルを削除したいと思います。KILL関数でコードを開始します。

コード:

 Sub Delete_Files()Kill(PathName)End Sub 

フォルダパスをコピーして貼り付けます。

そして、二重引用符で貼り付けます。

「E:\ Excelファイル」を強制終了します

ここで、もう1つ円記号(\)を付けて、拡張子を付けてファイル名を入力します。

「E:\ ExcelFiles \ File5.xlsx」を強制終了します

このコードを実行すると、上記のフォルダーパスにある「File5.xlsx」という名前のファイルが削除されます。

すべてのExcelファイルを削除する

VBAを使用してフォルダー内のすべてのExcelファイルを削除するには、KILL関数でワイルドカード文字を使用する必要があります。フォルダパスに言及した後、ファイルを「* .xl *」として言及する必要があります

コード:

「E:\ ExcelFiles \ *。xl *」を強制終了します

このコードを実行すると、フォルダー内のすべてのExcelファイルが削除されます。

1つのExcelファイルとすべてのExcelファイルを削除する方法を見てきました。しかし、フォルダ内のすべてのファイルを削除したい場合は、どうすれば削除できますか。Excel VBAを使用しているので、他のファイルを削除できますか?

答えはイエスです!!! 以下のコードを使用して、フォルダー内のすべてのファイルを削除します。

コード:

「E:\ ExcelFiles \ *。*」を強制終了します

フォルダ全体のみを削除

フォルダ自体を削除することはできますか?

はい、可能です。

To do this, the first thing we need to do is we need to delete all the files in the folder by using KILL function, and then to delete folder we need to use one more function called RmDir.

Code:

RmDir "E:\Excel Files\"

Here RmDir will delete only the empty folder, if any subfolder is there it cannot delete them.

Delete All the Text Files in the Folder

To delete all the text files in the folder use the below code.

Code:

Kill "E:\Excel Files\*.txt"

Delete Read-Only Files

As I told KILL function cannot delete “Read Only” files in the folder. In such a case scenario we need to use the other two functions “Dir$” & “SetAttr” functions. Below is the example code to delete the read-only files as well.

Code:

 Sub Delete_Files1() Dim DeleteFile As String DeleteFile = " E:\Excel Files\" If Len(Dir$(DeleteFile)) > 0 Then SetAttr DeleteFile, vbNormal Kill DeleteFile End If End Sub 

You can download this VBA Delete File Excel Template from here – VBA Delete File Excel Template