我有这段代码,但不能让它运行,因为它返回Bad file name or number error:
If Dir(ws.txtFldr, vbDirectory) = "" Then
MsgBox "Output Directory does not exist!", vbExclamation, "Error!"
Exit Sub
End If我只想检查给定的目录是否存在,如果不存在,则提示消息。txtFldr是一个activeX textbox控件,ws是一个工作表。实际上,我将其保存在共享目录或本地目录中。
发布于 2017-08-22 19:21:34
这样如何:
If Len(Dir(ws.txtFldr, vbDirectory)) = 0 Then
MsgBox "Output Directory does not exist!", vbExclamation, "Error!"
Exit Sub
End If通过在互联网上进行搜索,还可以显示许多其他方式。例如,here it有另一种方法:
Public Function FileFolderExists(strFullPath As String) As Boolean
'Author : Ken Puls (www.excelguru.ca)
'Macro Purpose: Check if a file or folder exists
If strFullPath = vbNullString Then Exit Function
On Error GoTo EarlyExit
If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True
EarlyExit:
On Error GoTo 0
End Function用法:
Public Sub TestFolderExistence()
'Author : Ken Puls (www.excelguru.ca)
'Macro Purpose: Test if directory exists
If FileFolderExists(ws.txtFldr) Then
MsgBox "Folder exists!"
Else
MsgBox "Folder does not exist!"
End If
End Sub第二种方法是使用VBA和GoTo标签中提供的一些Error处理功能来绕过代码。
https://stackoverflow.com/questions/45815972
复制相似问题