DeleteFile,VBA中借助Windows Scripting Host删除指定文件-host文件

大家好,我们今日继续讲解VBA代码解决方案的第69讲内容:利用Windows Scripting Host(WSH),删除文件。在Windows Scripting Host(WSH)中删除文件可以用可以使用DeleteFile方法。

应用于FileSystemObject对象的DeleteFile方法删除一个指定的文件,。

语法如下:object.DeleteFile filespec[, force]

参数

a) object是必需的, FileSystemObject对象的名字。

b) filespec是必需的,指明要删除文件的名字,可以在最后的路径部件中包含通配符。

c) force是可选的,如果要删除具有只读属性设置的文件,其值为True。如果其值为False(缺省),则不能删除具有只读属性设置的文件。

特别注意点:在处理文件时,我在最近一直在讲解利用借助于WSH的FileSystemObject对象模型,这个模式是微软提供的专门用来访问计算机文件系统的,具有大量的属性、方法和事件。其使 用面向对象的"object.method"语法来处理文件夹和文件,使用起来十分方便(需Office 2000以后版本)。FileSystemObject并不是VBA的一部分,它是以一个COM组件的形式提供的。因此,要使用先要创建 FileSystemObject对象。这点大家我特别注意。虽然这不是VBA的范畴,但我会在部分的章节中零散的讲一些FileSystemObject对象的相关知识。包括对象的模型和对象的方法。但由于篇幅,我这里主要还是玩VBA,这些不是作为重点,只是在章节中带一些。望大家在阅读的时候注意。

我们继续,如果需要删除一个指定的文件,可以使用DeleteFile方法,如下面的代码所示。

Sub MyDelFile()

Dim MyFile As Object

On Error Resume Next

Set MyFile = CreateObject("Scripting.FileSystemObject")

MyFile.DeleteFile ThisWorkbook.Path & "\abc.docx"

Set MyFile = Nothing

MsgBox "OK!"

End Sub

代码解析:

MyDelFile过程使DeleteFile方法删除示例文件所在文件夹中的"abc.docx"文件。

第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。

第5行代码使用DeleteFile方法复制文件。

运行DelFile过程删除示例文件所在文件夹中的"abc.docx"文件。

DeleteFile,VBA中借助Windows Scripting Host删除指定文件

运行前:

DeleteFile,VBA中借助Windows Scripting Host删除指定文件

运行后:

DeleteFile,VBA中借助Windows Scripting Host删除指定文件

文件被删除了。

今日内容回向:

1 利用Windows Scripting Host(WSH),如何删除一个文件?

2 删除的文件是否到回收站了呢?

分享成果,随喜正能量

推荐阅读