下面为打开文件读取的代码,但我如果打开选择文件的对话框但不选文件,点取消按钮,就出错,加了出错处理如下:控件属性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
这一句选取消就不行怎么办啊?

解决方案 »

  1.   

    把CommonDialog1.CancelError = True去掉
      

  2.   

    试试看
    'CommonDialog1.CancelError = True
    CommonDialog1.Filter = "*.txt|*.txt"
    CommonDialog1.ShowOpen
    If CommonDialog1.FileName = "" Then
       MsgBox ("点击取消。")
    End If
      

  3.   

    CommonDialog1.CancelError = false  'not true
      

  4.   

    cancelerror 就是cancel的时候error, 如果false, 就是cancel的时候不error,,,
      

  5.   

    if false then
    Errhandle:
    endif
      

  6.   

    false ,true都试过了.....
    上面的都试了...
    本来以为这是个极容易的问题
      

  7.   

    再重复一遍arfayr(阿飞) 说的:
    你调试的时候过不去?看看你工具里的选项中的通用是否选了“发生错误时中断”,如果选了,正确。选“遇到未处理的错误中断”就OK,这个选项是为了调试方便采用的。应该就是这个原因
      

  8.   

    注释掉所有的on error。
    再试!
      

  9.   

    方法1:除了将CommonDialog1.CancelError = True 取掉,
    还要点中窗体上的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
      

  10.   

    cancelerror 报的错误就是这个,实时错误'32755'
    看来不是你程序的问题了, 买过个计算机应该不会了
      

  11.   

    cancelerror一定是false, 不要是true, 不相信可以看msdn, 还有,
    我刚刚做实验也证明了这样
      

  12.   

    这是msdn上的示例
    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