删除文件夹VBA中的非Excel文件
我想使用VBA删除文件夹中的非Excel文件 这是我在这里找到的代码:删除文件夹VBA中的非Excel文件,vba,excel,Vba,Excel,我想使用VBA删除文件夹中的非Excel文件 这是我在这里找到的代码: Dim fName作为字符串 fName=Dir(“C:\test\*.*”) 当fName“”时执行 如果fName“fileA.xls”,则为'or.txt或.csv或其他名称 终止“C:\test\”和fName 如果结束 fName=Dir 环 我这样更改了代码: folderPath = Dir("C:\test\") Do While folderPath <> "" If folderPath
Dim fName作为字符串
fName=Dir(“C:\test\*.*”)
当fName“”时执行
如果fName“fileA.xls”,则为'or.txt或.csv或其他名称
终止“C:\test\”和fName
如果结束
fName=Dir
环
我这样更改了代码:
folderPath = Dir("C:\test\")
Do While folderPath <> ""
If folderPath <> "*.xls" Then'or .txt or .csv or whatever
Kill "C:\test\" & folderPath
End If
folderPath = Dir
Loop
folderPath=Dir(“C:\test\”)
当folderPath“”时执行此操作
如果folderPath“*.xls”,则为'or.txt或.csv或其他内容
终止“C:\test\”和folderPath
如果结束
folderPath=Dir
环
它给了我一个错误,说文件找不到。但我的文件夹中有一个文件需要删除
需要一些指导。根据需要使用以下选项。注意:最好使用
Like
操作符来比较部分字符串,在这种情况下Not
操作符只查找不匹配的字符串
strFileName = Dir("C:\test\*")
Do While strFileName <> ""
If Not lcase$(strFileName) Like "*.xls" Then 'or .txt or .csv or whatever
Kill "C:\test\" & strFileName
End If
strFileName = Dir
Loop
strFileName=Dir(“C:\test\*”)
当strFileName“”时执行此操作
如果不是像“*.xls”这样的lcase$(strFileName),那么是“*.xls”或“.txt”或“.csv”之类的
终止“C:\test\”和strFileName
如果结束
strFileName=Dir
环
注意,如果您希望忽略所有Excel文件,则考虑备选扩展,并用如果不是像“*.xls”这样的lcase$(strFileName),也不是像“*.xlsx”这样的lcase$(strFileName),那么
记住.txt、.csv、.xlsm等。应根据需要使用以下命令。注意:最好使用
Like
操作符来比较部分字符串,在这种情况下Not
操作符只查找不匹配的字符串
strFileName = Dir("C:\test\*")
Do While strFileName <> ""
If Not lcase$(strFileName) Like "*.xls" Then 'or .txt or .csv or whatever
Kill "C:\test\" & strFileName
End If
strFileName = Dir
Loop
strFileName=Dir(“C:\test\*”)
当strFileName“”时执行此操作
如果不是像“*.xls”这样的lcase$(strFileName),那么是“*.xls”或“.txt”或“.csv”之类的
终止“C:\test\”和strFileName
如果结束
strFileName=Dir
环
注意,如果您希望忽略所有Excel文件,则考虑备选扩展,并用如果不是像“*.xls”这样的lcase$(strFileName),也不是像“*.xlsx”这样的lcase$(strFileName),那么
记住.txt、.csv、.xlsm等。检查文件是否存在于给定位置。它就在那里。我保证了。我意识到这有点编辑性,但我建议不要使用不能准确表示存储在其中的数据的变量名:特别是,名为
folderPath
的变量可能不应用于存储文件名。请改用FSO对象来标识文件并从删除操作中排除文件。@PareshJ可以给我举个例子。检查文件是否存在于给定位置。它就在那里。我保证了。我意识到这有点编辑性,但我建议不要使用不能准确表示存储在其中的数据的变量名:特别是,名为folderPath
的变量可能不应用于存储文件名。请改用FSO对象来标识文件并从删除操作中排除这些文件。@PareshJ可以给我举个例子。可能还应lcase$(strFileName)like…
可能还应lcase$(strFileName)like…