Excelでvbaを使用してファイルを削除するにはどうすればよいですか?

フォルダーから Excel ファイルを削除するには、2 つの異なる方法を使用できます。 1 つ目の方法は、削除するファイルを参照するファイル パスを取得する「Kill」ステートメントです。 2 番目のメソッドは、ファイルを削除するためのメソッドが関連付けられた FileSystemObject オブジェクトです。

これらのコードを使用するには、開発者タブから VBE (コード エディター) に移動します。

VBA(Kill関数)を使用してファイルを削除する

Kill 機能は、単一のファイルまたは複数のファイルを削除したり、ワイルドカードを使用して複数のファイルを削除したりするのに役立ちます。以下は、デスクトップ上のフォルダーからファイルを削除する 1 行のコードです。

 Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
VBAのkill関数を使ってファイルを削除する

削除するように指定したワークブックが存在しない場合、このコードではエラーが表示されます。

役立つリンク:マクロの実行マクロ レコーダー– Visual Basic Editor –パーソナル マクロ ハンドブック

VBAを使用してフォルダー内のすべてのファイルを削除する

フォルダー内のすべてのファイルを削除したい場合は、ワイルドカードを使用できます。

 Kill "C:UsersDellDesktopSample Data*.xl*"
VBAを使用してフォルダー内のすべてのファイルを削除する

FileSystemObject (オブジェクト) を使用してファイルを削除する

ファイル システム オブジェクトを使用すると、コンピュータのファイル システムにアクセスできます。詳細についてはここから学ぶことができますが、ここでファイルを削除するコードを書いてみましょう。

  • まず、コード内で使用する変数を Binder および FileSystemObject として宣言する必要があります。
    delete a file using the file system object
  • その後、オブジェクト作成関数を使用して、FileSystemObject を FSO 変数に代入して返します。
    create object function
  • 次に、「myFile」変数にパスを割り当てて、削除するファイルに移動します。
    assign the path to the myfile
  • 最後に、「DeleteFile」メソッド (こちらを参照) を使用してファイルを削除します。
    use the delete file method

完全なコード

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" FSO.DeleteFile myFile, True End Sub

ファイル (存在するかどうか) を確認して削除するコードを記述する必要があるとします。必要なコードは次のとおりです。

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" If FSO.FileExists(myFile) Then FSO.DeleteFile myFile, True MsgBox "Deleted" Else MsgBox "There's no workbook with this name." End If End Sub
VBAとは

関連するチュートリアル

  • VBAを使用してExcelファイル(ワークブック)をコピーする
  • VBA アクティブ化ワークブック (Excel ファイル)
  • VBA ワークブックを閉じる (Excel ファイル)
  • VBA ワークブックの結合 (Excel ファイル)
  • VBA 新しいワークブック(Excelファイル)を作成する

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です