我电脑里的一个软件总是自动在E盘建立一个名为 KEO的文件夹,我想用VBA在打开我的EXCEL文件时自动删除这个文件夹,可是如果E盘已经存在这个文件夹,那么没有问题,我的代码会删除它,可是如果E盘没有这个文件夹,一打开我的EXCEL文档,就会出现找不到路径的调试选项,能不能想办法让 当E盘没有这个文件夹时打开我的EXCEL文档时不出现任何提示?
我的代码如下:
Private Sub Workbook_Open()
If VBA.Date >= #7/15/2015# Then
Set aaa = CreateObject("Scripting.FileSystemObject")
aaa.DeleteFolder "e:\KEO"
End If
End Sub
On Error Resume Next
If VBA.Date >= #7/15/2015# Then
以下略。
更好的方法是用dir函数先验证文件夹是否存在再删。追问
你的这个方法我试过了,不管用, 貌似找不到路径不算 ERROR 所以加上了 ON ERROR RESUME NEXT 依旧会出现找不到路径的 调试。。。 你说的那个 DIR 验证可以详细的说明一下吗?我刚学VBA....
追答大概是FSO创出来的错误不被excel捕获,用
Private Sub Workbook_Open()
On Error Resume Next
If VBA.Date >= #7/15/2015# Then
kill "e:\KEO\*.*"
rmdir "e:\KEO"
end if
end sub
是可以错误捕获的
dir方式
If Not Dir("e:\KEO\" vbDirectory) = "" Then
'存在
fso方式
If aaa.FolderExists("e:\KEO") = True Then
'存在