我有这个代码。应该检查文件是否存在,如果存在则将其打开。如果文件存在,它确实可以工作,但是如果文件不存在,则每当我将文本框保留为空白并单击提交按钮时,它都会失败。我想要的是,如果文本框为空,则显示错误消息,就像文件不存在一样。
Dim File As String
File = TextBox1.Value
Dim DirFile As String
DirFile = "C:\Documents and Settings\Administrator\Desktop\" & File
If Dir(DirFile) = "" Then
MsgBox "File does not exist"
Else
Workbooks.Open Filename:=DirFile
End If
最佳答案
像这样的东西
最好使用工作簿变量来提供对已打开工作簿的进一步控制(如果需要)
已更新以测试文件名是实际的工作簿-除了向用户发送消息(文本框为空)以外,这还使初始检查变得多余
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
关于excel - VBA检查文件是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16351249/