我有这段代码,但无法让它运行返回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文本框控件,ws
是一个工作表。我实际上是在共享目录或本地保存它。
答案 0 :(得分:0)
这个怎么样:
If Len(Dir(ws.txtFldr, vbDirectory)) = 0 Then
MsgBox "Output Directory does not exist!", vbExclamation, "Error!"
Exit Sub
End If
通过在互联网上进行搜索,还可以显示许多其他方式。例如,here它有另一种方法:
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和Error
标签中的一些GoTo
处理功能来绕过代码。