比如
Private Sub Command1_Click()
msgbox me.name
End Sub这样可以返回该Form的名字
但是如何让过程里面返回这个过程的名字
如果只有一个地方,当然可以用Msgbox "Command1_Click"
可是我要使用在很多地方,一个一个加不切合实际,希望能够有me.name这样通用的语句
Private Sub Command1_Click()
msgbox me.name
End Sub这样可以返回该Form的名字
但是如何让过程里面返回这个过程的名字
如果只有一个地方,当然可以用Msgbox "Command1_Click"
可是我要使用在很多地方,一个一个加不切合实际,希望能够有me.name这样通用的语句
我说说我为什么要这么做吧,可能可以用其他思路的
我的工程在发布给用户前对出错的处理是这样的,在模块里面写一个过程,ErrRecord,参数只有一个,是String的,作用是将这个String以及Err对象的Number,Desc等记录在一个log文件里面
而程序里面这么写
private sub Command1_Click()
On Error Goto errhandle
...
exit sub
errhandle:
ErrRecord Me.Name
end sub
这样用户只要把log文件给我就可以知道哪些地方有错误而不影响用户的使用,但是现在仅仅可以得到出错的form或者class的名字,而并不能知道是哪个函数或者过程出错,这对Debug来说就非常累了,所以想能够记录下函数或者过程的名字,但是如果一个一个加,那工程就很浩大了。
Private Sub Command1_Click()
msgbox command1_click
End Sub
msgbox "command1_click"
End Sub那就是每个地方都需要改了,总共大概有好几百个地方呢
为什么不
ErrRecord Err.Description
ErrRecord err.Number
单记录过程名能看出什么啊?
为什么不
ErrRecord Err.Description
ErrRecord err.Number
单记录过程名能看出什么啊?Err.Description和err.Number都在ErrRecord里面记录了,没有作为参数传递,因为多工程都是有效的
之所以不一一改,一来觉得太无聊了,二来觉得这样的话,以后要再改点什么再一个一个改 ,这样太累了,我希望对这个过程的参数都有一致的源码,只要替换就可以了
我想如果就单单这样:Msgbox "所有的过程与函数"
怕是很难的,至少我到现在也没有看过别人这样用过
但不管怎么说,我也希望你能找到解决问题的真正办法
期待你的佳音……
err对象有一个Source属性,不过只返回出错的工程的名字,这有什么用啊
也许对你有帮助