对于vba,thisdrawing和模块中的代码如何区别?
就是说什么样的代码适合放在thisdrawing代码窗口,什么样的适合放在模块窗口?只是私有的就放在thisdrawing里,public就放在模块里么?
还有一问,就说假如没有form的话,执行过程是先执行thisdrawing里的,再执行模块里的代码?如果有form的话,由于thisdrawing里的过程是私有的,form里不能调用。那么执行顺序应该是先thisdrawing,再根据form中的不同事件调用模块里的过程? 这是三个不同的概念吧,类模块、模块和窗体。类模块是封装的,它在外部的调用必须先实例化,然后操作它所提供的方法或者属性,最后销毁对象。模块是公共的,主要是存放一些全局使用的变量和过程、函数。窗体就是提供用户操作的界面了。 谢谢。
你说得这些我明白。
但不是我问的。 thisdrawing属于类模块? thisdrawing属于模块,而不是类模块。<BR>对于事件的代码只有在ThisDrawing中写。 对于事件的代码只有在ThisDrawing中写。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?? 那普通模块和thisdrawing模块就没区别了?事件的代码总得有“事件”发生才执行吧,那代码放入普通模块中不是一样的么? 按我的理解ThisDrawing相当于窗体 可以按Lzh741206的理解,也就是Thisdrawing模块是AutoCAd窗口的代码窗口。所以它可包含AutoCAD的事件代码,也可包含普通的过程代码。 稍微明白一点。
我看到过这样的情况:
一个程序里只有普通模块和thisdrawing,没有窗体。thisdrawing里的过程代码都是私有的。还没有set,get之类的语句来调用。那么,执行程序的时候,是不是先执行thisdrawing中的代码,然后执行module里的?
(我本想用逐行调试的方法来判断一下,但是vba和vb不同,调试的时候,总是从当前的代码窗口中执行,而不是程序整体调试) 把代码传上来好解释些 晕,你还没有明白,程序的执行是按过程来运行的。运行哪个过程是由你来定的,而程序过程间的调用本来已经由程序来身定好的,而不是说哪个过程放在哪个模块中就可以先运行。
页:
[1]
2