Excel 与WorkBooks.OpenText命令相关的错误处理
我使用的是一个标准的Workbooks.OpenText函数,但是当我点击cancel时,它会调试到我的代码中,这是我不想要的。相反,我需要一个错误处理程序,这样,如果我点击“取消”,就会出现一个错误框,说明“未选择任何文件”。我不知道如何在一个钩子里识别这个OpenText被取消了Excel 与WorkBooks.OpenText命令相关的错误处理,excel,vba,Excel,Vba,我使用的是一个标准的Workbooks.OpenText函数,但是当我点击cancel时,它会调试到我的代码中,这是我不想要的。相反,我需要一个错误处理程序,这样,如果我点击“取消”,就会出现一个错误框,说明“未选择任何文件”。我不知道如何在一个钩子里识别这个OpenText被取消了 Set myfile = Application.FileDialog(msoFileDialogFolderPicker) Workbooks.OpenText Filename:=myfile, DataT
Set myfile = Application.FileDialog(msoFileDialogFolderPicker)
Workbooks.OpenText Filename:=myfile, DataType:=xlDelimited,
Origin:=xlWindows, Other:=True, OtherChar:=","
您可以这样做:
Sub MySub()
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
' TODO configure file dialog
' .AllowMultiSelect = ???
' .Filters = ???
' ...
If .Show = -1 Then
' TODO code to handle FileDialog OK button
' Depending on settings user may be able to select multiple items
For Each vrtSelectedItem in .SelectedItems
Debug.Print vrtSelectedItem
' Workbooks.OpenText Filename:=vrtSelectedItem, ...
Next vrtSelectedItem
Else
' TODO code to handle FileDialog Cancel button
Debug.Print "user hit cancel"
End If
End With
Set fd = Nothing
End Sub
希望这有帮助我不明白“…当我点击“取消”时,它会被调试到我的代码中…”。当我使用
OpenText
时,文件打开,没有机会取消。oops;我添加了前一行,它打开了一个文件对话框。基本上,在标准Excel文件对话框中,当我点击cancel时,它会调试到程序中。我希望用户在点击文件对话框“打开文件”Excel选项的“取消”时看到一条错误消息。