3 回答
TA贡献1865条经验 获得超7个赞
像这样的东西
最好使用工作簿变量来提供对打开的工作簿的进一步控制(如果需要)
已更新以测试文件名是实际的工作簿-这也使初始检查变得多余,除了向用户发送消息以外,文本框为空
Dim strFile As String
Dim WB As Workbook
strFile = Trim(TextBox1.Value)
Dim DirFile As String
If Len(strFile) = 0 Then Exit Sub
DirFile = "C:\Documents and Settings\Administrator\Desktop\" & strFile
If Len(Dir(DirFile)) = 0 Then
MsgBox "File does not exist"
Else
On Error Resume Next
Set WB = Workbooks.Open(DirFile)
On Error GoTo 0
If WB Is Nothing Then MsgBox DirFile & " is invalid", vbCritical
End If
TA贡献1900条经验 获得超5个赞
我使用此功能检查文件是否存在:
Function IsFile(ByVal fName As String) As Boolean
'Returns TRUE if the provided name points to an existing file.
'Returns FALSE if not existing, or if it's a folder
On Error Resume Next
IsFile = ((GetAttr(fName) And vbDirectory) <> vbDirectory)
End Function
TA贡献1799条经验 获得超9个赞
为了检查是否存在,还可以使用(适用于文件和文件夹):
Not Dir(DirFile, vbDirectory) = vbNullString
结果是True文件或目录是否存在。
例:
If Not Dir("C:\Temp\test.xlsx", vbDirectory) = vbNullString Then
MsgBox "exists"
Else
MsgBox "does not exist"
End If
- 3 回答
- 0 关注
- 586 浏览
相关问题推荐
添加回答
举报