如何让VBA在找不到文件夹路径时退出 而不是出现“调试”选项

我电脑里的一个软件总是自动在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

Private Sub Workbook_Open()
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

'存在

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网