VBA 删除当前文件目录下的文件

VBA 检查当前文件目录下【之前】文件夹中是否有保护使用 C2 +D2 +文件.xls 命名的文件,如果有则删除掉。以下的代码不知道哪里错误了。请高手帮忙修正。

Dim FileName As String
FileName = Dir(ThisWorkbook.Path & "\之前" & Range("c2") & Range("d2") & "文件.xls")
Do While FileName <> ""
Kill "ThisWorkbook.Path" & FileName
FileName = Dir
Loop

1、首先在工作表中,点击菜单栏【开发工具】,在其工具栏里,点击【visual basic】,进入VBA界面。

2、然后在VBA界面,点击菜单栏【插入】,在其下拉菜单中,点击【模块】。

3、会弹出代码编辑窗口,在代码编辑窗口,输入下代码。

4、未运行代码前,F盘目录下有“789.XLSx”文件。

5、在VBA界面,点击运行按钮,会发现F目录下,“789.xlsx”文件被成功删除了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
【之前】是文件夹,代码中少了一个"\"
FileName = Dir(ThisWorkbook.Path & "\之前\" & Range("c2") & Range("d2") & "文件.xls")追问

修改了好像也没用?
我的目的是:
检查当前文件目录下的【之前】文件夹中是否有,使用 C2 +D2 +文件.xls 命名的文件,如果有则删除掉。假如C2是工资表,D2是2015-01 ,
文件名称就是:[工资表2012-01文件.xls]如果有发现这个文件就删除。

追答

当前路径不能用引号

FileName = Dir(ThisWorkbook.Path & "\之前\" & Range("c2") & Range("d2") & "文件.xls")
    Do While FileName <> ""
        Kill ThisWorkbook.Path & FileName
        FileName = Dir
    Loop

本回答被提问者和网友采纳
第2个回答  2022-01-02
ThisWorkbook.Path & "\文件名(包括扩展名,如xls等)"加上“.delete”
第3个回答  推荐于2017-09-30
1)、VB语句:Kill
Sub DeleteFile()
Dim strFile As String

strFile = ThisWorkbook.Path & "\Temp.xls"
Kill strFile
End Sub

Sub DeleteFile2()
Dim strFile As String

strFile = ThisWorkbook.Path & "\Temp.xls"
If Dir(strFile) = "" Then
MsgBox strFile & " does not Exists", vbCritical
Else
Kill strFile
End If
End Sub

2)、FileSystemObject对象:DeleteFile方法
Sub DeleteFile_Fso()
Dim fso As FileSystemObject
Dim strFile As String

strFile = ThisWorkbook.Path & "\test.xls"
Set fso = New FileSystemObject
If fso.FileExists(strFile) Then
fso.DeleteFile strFile
Else
MsgBox strFile & " does not Exists"
End If

Set fso = Nothing
End Sub
相似回答