下面为打开文件读取的代码,但我如果打开选择文件的对话框但不选文件,点取消按钮,就出错,加了出错处理如下:控件属性CancelError已设为True了On Error GoTo ErrHandler
CommonDialog1.CancelError = True
CommonDialog1.Filter = "mys File|*.mys"
CommonDialog1.ShowOpen
FileName = CommonDialog1.FileName
Open FileName For Input As #1
'其它代码
ErrHandler:
Exit Sub '如出错,就退出过程但是出错根本就不会转到ErrHandler,我是这样操作的:
打开后显示windows标准对话框都没错,有两个按钮,
一个是"打开",一个是"取消",我选"取消"按钮,就马上出错:
"实时错误'32755'
选定取消"我把代码改成下面:
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
MsgBox "false"
End If
也不执行MsgBox行,实际上是CommonDialog1.ShowOpen
这一句选取消就不行怎么办啊?
CommonDialog1.CancelError = True
CommonDialog1.Filter = "mys File|*.mys"
CommonDialog1.ShowOpen
FileName = CommonDialog1.FileName
Open FileName For Input As #1
'其它代码
ErrHandler:
Exit Sub '如出错,就退出过程但是出错根本就不会转到ErrHandler,我是这样操作的:
打开后显示windows标准对话框都没错,有两个按钮,
一个是"打开",一个是"取消",我选"取消"按钮,就马上出错:
"实时错误'32755'
选定取消"我把代码改成下面:
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
MsgBox "false"
End If
也不执行MsgBox行,实际上是CommonDialog1.ShowOpen
这一句选取消就不行怎么办啊?
'CommonDialog1.CancelError = True
CommonDialog1.Filter = "*.txt|*.txt"
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then
MsgBox ("点击取消。")
End If
Errhandle:
endif
上面的都试了...
本来以为这是个极容易的问题
你调试的时候过不去?看看你工具里的选项中的通用是否选了“发生错误时中断”,如果选了,正确。选“遇到未处理的错误中断”就OK,这个选项是为了调试方便采用的。应该就是这个原因
再试!
还要点中窗体上的CommonDialog控件,选属性,将CancelError将面的勾去掉。然后将程序中的错误处理去掉。方法2:改写错误代码,将选Cancel捕获On Error GoTo ErrHandler
CommonDialog1.CancelError = True
CommonDialog1.Filter = "mys File|*.mys"
CommonDialog1.ShowOpen
FileName = CommonDialog1.FileName
Open FileName For Input As #1
'其它代码exit sub '这句其实也是满重要的!ErrHandler:
if err.Number = 32755 MsgBox "你没有选中任何文件!" '如果不想显求,干脆屏掉这句 else MsgBox "选择文件出现未知错误!" end ifend sub
看来不是你程序的问题了, 买过个计算机应该不会了
我刚刚做实验也证明了这样
Private Sub Command1_Click()
' 设置“取消”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置 Flags 属性
CommonDialog1.Flags = cdlCFEffects Or cdlCFBoth
' 显示“字体”对话框
CommonDialog1.ShowFont
Text1.Font.Name = CommonDialog1.FontName
Text1.Font.Size = CommonDialog1.FontSize
Text1.Font.Bold = CommonDialog1.FontBold
Text1.Font.Italic = CommonDialog1.FontItalic
Text1.Font.Underline = CommonDialog1.FontUnderline
Text1.FontStrikethru = CommonDialog1.FontStrikethru
Text1.ForeColor = CommonDialog1.Color
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub