今想实现这样一功能,当在新增一方法、过程或是事件时,能自动写上错语处理语句
Private Sub Command1_Click()
    On Error GoTo ErrHand
    
Exit Sub
ErrHand:
   MsgBox Err.Description, , "Command1_Click"
End Sub如上,当新建Command1_Click事件时,能自动写出里面的错语处理语句。
谢谢!

解决方案 »

  1.   

    VBA中好像是这样的,至少access中这样。
      

  2.   

    搜索下,auto vb error handler
    免费的没找到。
      

  3.   

    说白了,就是要做一个IDE的插件呗~~
    帮你顶了~~我不会
      

  4.   

    可以在做完软件的时候,用Open ....For Input As #1语句打开窗体文件,然后逐行找Private Sub和End Sub作为定位依据,找到后一个一个自动添加上,(或用Replace替代?),再写回窗体文件
      

  5.   

    用 codesmart+2007x-2009x ,这个插件可以,不过有时候有点小问题
      

  6.   

    谢谢各位
    dbcontrols的方法如果针对没有任何错误处理代码的代码可能还可以,否则可能会引起重复
      

  7.   

    VBIDE中没这种事件,只有自己通过一些途径分析代码了.
      

  8.   

    用插件在指定的事件里添加代码很简单,麻烦之处在于拦截鼠标双击事件。
    插入自己代码的插件代码如下:
    Dim lPos As Long
        
        On Error Resume Next
        lPos = VBInstance.ActiveCodePane.CodeModule.ProcCountLines("过程名称", vbext_pk_Proc)
        VBInstance.ActiveCodePane.CodeModule.InsertLines lPos + 1, "需要插入的代码"
    需要注意,一定要加上On Error Resume Next,因为指定过程名称不存在时会报错。
      

  9.   

    ProcCountLines得到的是这个过程或者函数总计的代码行数,并不是这个过程所在的行编号。另外过程名称也不好得到。我觉得最好的办法是插件不断监视代码行数是否发生变化,一有变化就将整个代码读进分析然后用insertlines插入。
      

  10.   

    插件下载地址:
    http://vsaddin.googlecode.com/files/VB6_InsertErrHand_Addin.zip没有按楼主的做到一双击进入就自动加入,需要手动点菜单,已经很方便了。
    谁要实现这样的效果可以修改下,代码:
    http://blog.csdn.net/sysdzw/archive/2010/12/01/6047719.aspx安装方法和一般插件一样,很简单:
    1.点击菜单“工程-引用”,选择这个dll
    2.然后点击菜单“外接程序-外接程序管理器”,选择“Insert Error Hand”,把右下角两个框框都勾起来
    3.这样你的菜单“外接程序”中就会多出“Insert Error Hand”这一项使用方法也很简单:
    将要处理的代码编辑器窗口打开,保持活动窗口状态,然后点击菜单“外接程序-Insert Error Hand”即可。
      

  11.   

    看了sysdzw给的插件,确实不错,不过还是有点欠缺,如果方法中已经有错误处理了,但与给定的不一样,则会出现重复错误处理的现象。在Private Sub Test()后回车,系统会自动加上End Sub这一行,说明系统可以监测到换行事件,不知此事件在插件中如何才能监测得到?谢谢大家。
      

  12.   

    不知道是否支持侦听系统的事件,插件相关的资料很少,我只是按F2然后看类名方法名基本猜出个大概组装成这个插件的。
    建议所有的错误处理的要么都自己处理,要么就都交给插件处理。过会修改下如果过程的第一行有类似on error goto/resume xxx就直接不处理了。
      

  13.   

    MZ-Tools 3.0
    虽然没有完全自动,但是只需要点一个工具条的按钮,也够方便了。又:并不是所有的过程都需要添加错误处理的。
      

  14.   

    这个功能好像跟你说的MZ-Tools差不多。贴下新的下载地址:
    http://code.google.com/p/vsaddin/downloads/list
    下载其中的VB6IDE_InsertErrHand_Addin_1.0.2.zip(带源码src目录)
    列表中不少很实用的vb和vc插件,大家可以下载用了看看。
      

  15.   

    谢谢各位,尤其是sysdzw的大力相助
    先研究一下sysdzw提供的代码
      

  16.   

    v1.0.5更新点:
    * 双击控件到代码编辑器或者添加新过程、函数自动添加错误处理语句(但是总是觉得这样有点不妥,打算在下一版本中加入配置让用户决定是否关闭自动添加错误处理的功能。)
    * 修正了之前版本不能处理Property Let/Set/Get这样的属性过程
    * 修正了之前版本不能处理函数声明时参数用多行表示的情况下载地址:
    http://code.google.com/p/vsaddin/downloadsv1.0.6属性设置界面预览:
      

  17.   

    sysdzw兄这插件功的功能是越做越强大
    VB6IDEMouseWheelAddin这个插件我都用了好几年了,原来也是你做的
    谢谢sysdzw及各位朋友
      

  18.   

    就像sysdzw兄所说的,还是觉的有点不妥
    有些方法或过程是不需或是不能有错误信息提示出来的,所以如果能有可选性那将是...
    不知能否做到在代码窗口点右键弹出此界面,然后再点确定就能给当前过程加上错误处理,如果光标不在一过程内,则不做处理。
    期待sysdzw兄的更新版本,谢谢!
      

  19.   

    sysdzw 精神可嘉。看过sysdzw的文章,很细、很负责。顶
      

  20.   

    vb6idemousewheeladdin 安装vb6必安的插件之一
      

  21.   

    VB6IDEMouseWheelAddin是微软做的。你那个右键菜单操作的貌似有点麻烦,刚按了下F2大致看了下,方法是有的:
    得到当前鼠标所在的行可以通过CodePane对象的GetSelection方法得到,然后用CodeModule的ProcOfLine方法得到过程名,这样就简单了。我程序里已经封装了dealMethod方法,直接传入过程名差不多就行了。只是右击菜单的不知道怎么搞,方法是肯定有的。你自己找了看看,找到的话自己实现下吧,每个版本都开源的,呵呵。
      

  22.   

    行,我找找看,先结贴,我会常去http://code.google.com/p/vsaddin/downloads里看看