Dir函数在VBA中的利用,以及利用此函数定位文件并删除的方法-docx是什么文件

大家好,我们今日继续讲解VBA代码解决方案的第65讲内容:在VBA中Dir函数的利用及删除文件的方法

在操作文件时删除一个文件时再平常不过的事情,选中它右键删除,或者直接按DELETE键删除即可,在VBA中操作却是要利用代码来完成这些操作,用代码该如何进行呢?今日我们来讲解这个问题。在讲解之前还是先看看知识点吧。

一:Dir函数。Dir函数返回一个String,用以表示一个文件名、目录名或文件夹名称。

语法如下:Dir[(pathname[, attributes])]

参数:

a) pathname是可选的,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到pathname,则会返回零长度字符串 ("")。

b) attributes是可选的,常数或数值表达式,其总和用来指定文件属性,如下面所示。如果省略,则会返回不包含属性的匹配文件。

vbNormal 0 (缺省) 指定没有属性的文件。

vbReadOnly1指定无属性的只读文件。

vbHidden 2指定无属性的隐藏文件。

VbSystem 4指定无属性的系统文件,在Macintosh中不可用。

vbVolume8指定卷标文件;如果指定了其它属性,则忽略。vbVolume 在Macintosh中不可用。

vbDirectory16指定无属性文件及其路径和文件夹。

vbAlias64指定的文件名是别名,只在Macintosh上可用。

特别注意: 在第一次调用Dir函数时,必须指定pathname,否则会产生错误。

二:Kill语句,从磁盘中删除文件。

语法如下:Kill pathname

参数pathname是必需的,用来指定一个文件名的字符串表达式,可以包含目录或文件夹、以及驱动器。

特别注意点1:在Microsoft Windows中,Kill方法支持多字符 (*) 和单字符(?)的统配符来指定多重文件,如需要删除当前目录下所有*. Xls文件可以使用下面的代码:Kill "*.xls"

特别注意点2: 使用Kill方法不能删除已打开的文件,否则会产生错误。

有了上面的两个知识点,我们再看使用Kill方法删除指定的文件的方法,如下面的代码。

Sub MyKillFile()

Dim myFile As String

myFile = ThisWorkbook.Path & "\ABC\abc.docx"

If Dir(myFile) <> "" Then

Kill myFile

Else

MsgBox "NOT " & ThisWorkbook.Path & " \ABC\abc.docx 文件!"

End If

MsgBox "ok!"

End Sub

代码解析:

MyKillFile过程使用Kill方法示例文件所在文件夹中的"abc.docx"文件。

第3行代码指定所要删除文件的路径和文件名称。

第4行代码使用Dir函数返回指定文件名,如果存在该文件则使用Kill语句删除。

代码窗口:

Dir函数在VBA中的利用,以及利用此函数定位文件并删除的方法

如果不存在文件,则返回:

Dir函数在VBA中的利用,以及利用此函数定位文件并删除的方法

如果存在此文件,则删除,最后运行完成,返回:

Dir函数在VBA中的利用,以及利用此函数定位文件并删除的方法

今日内容回向:

1 DIR 函数的意义是什么?

2 如何删除一个指定文件呢?

推荐阅读