如何在excel中使用vba删除文件?
要从文件夹中删除 Excel 文件,可以使用两种不同的方法。第一种方法是“Kill”语句,它采用文件路径来引用要删除的文件。第二种方法是 FileSystemObject 对象,它具有用于删除文件的关联方法。
要使用这些代码,请从开发人员选项卡转到 VBE(代码编辑器)。
使用VBA删除文件(Kill函数)
Kill 功能可帮助您删除单个文件或多个文件,并使用通配符删除多个文件。下面是从桌面上的文件夹中删除文件的一行代码。
Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
如果您指定要删除的工作簿不存在,此代码将显示错误。
有用的链接:运行宏–宏记录器– Visual Basic 编辑器–个人宏手册
使用VBA删除文件夹中的所有文件
如果您想删除文件夹中的所有文件,可以使用通配符。
Kill "C:UsersDellDesktopSample Data*.xl*"
使用 FileSystemObject (Object) 删除文件
文件系统对象允许您访问计算机的文件系统。您可以从这里了解更多信息,但现在让我们编写一段代码来删除文件。
- 首先,您需要将代码中使用的变量声明为 Binder 和 FileSystemObject。
- 之后,使用创建对象函数通过将 FileSystemObject 分配给 FSO 变量来返回它。
- 接下来,将路径分配给“myFile”变量以导航到要删除的文件。
- 最后,使用“DeleteFile”方法(请参阅此)删除文件。
完整代码
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