Hello All(专家和比我聪明的人),
我遇到了一个问题,当我点击取消Windows'文件打开'对话框时,它调试到这一行。我想要做的是,我想添加某种“异常”,如果我点击“取消”到“文件打开”对话框,它不会给我一个“运行时错误'1004':并且可以选择“结束”“调试”和“帮助”但相反,当用户点击取消时,它会正常退出。这是在VBA。这可能吗?我搜索周围并且无法找到有效的方法,因为这是一个独特的案例。我只是不希望'用户'必须被迫查看代码,如果他们改变了对文件'打开'的想法,而是让他们优雅地退出并仍然看着主他们最初的excel工作簿。
Workbooks.OpenText Filename:=strFileToOpen, StartRow:=11, DataType:=xlDelimited, Tab:=True, TrailingMinusNumber:=True
答案 0 :(得分:0)
单击“取消”时,GetOpenFilename对话框将返回“FALSE”。试试这个:
Sub CancelFileOpenGracefully()
Dim strFileToOpen As String
On Error GoTo GracefulExit:
Application.ScreenUpdating = True
Application.EnableEvents = True
strFileToOpen = Application.GetOpenFilename
'Test if user didn't hit Cancel and run your code
If strFileToOpen <> "FALSE" Then
Workbooks.OpenText Filename:=strFileToOpen, StartRow:=11, DataType:=xlDelimited, _
Tab:=True, TrailingMinusNumbers:=True
'Do things
End If
GracefulExit:
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub