大家好,我们今日继续讲解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"文件。
运行前:
运行后:
文件被删除了。
今日内容回向:
1 利用Windows Scripting Host(WSH),如何删除一个文件?
2 删除的文件是否到回收站了呢?
分享成果,随喜正能量