如何在excel中使用vba删除文件?

要从文件夹中删除 Excel 文件,可以使用两种不同的方法。第一种方法是“Kill”语句,它采用文件路径来引用要删除的文件。第二种方法是 FileSystemObject 对象,它具有用于删除文件的关联方法。

要使用这些代码,请从开发人员选项卡转到 VBE(代码编辑器)。

使用VBA删除文件(Kill函数)

Kill 功能可帮助您删除单个文件或多个文件,并使用通配符删除多个文件。下面是从桌面上的文件夹中删除文件的一行代码。

 Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
使用vba Kill函数删除文件

如果您指定要删除的工作簿不存在,此代码将显示错误。

有用的链接:运行宏宏记录器Visual Basic 编辑器个人宏手册

使用VBA删除文件夹中的所有文件

如果您想删除文件夹中的所有文件,可以使用通配符。

 Kill "C:UsersDellDesktopSample Data*.xl*"
使用vba删除文件夹中的所有文件

使用 FileSystemObject (Object) 删除文件

文件系统对象允许您访问计算机的文件系统。您可以从这里了解更多信息,但现在让我们编写一段代码来删除文件。

  • 首先,您需要将代码中使用的变量声明为 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

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注