二、注意事项 1.过程命名注意事项 由于过程缺少是公共的,所以,为了避免混淆,过程名在工程中保持唯一性。 如果真有在不同模块中的公共过程重名了,那么在访问时就要注意,当需要跨模块访问重名的过程时,记得在过程名前加模块名,例如:模块1.mysub。
避免声明的的过程名与Excel 对象中提供的方法名相同。这个以往在论坛答题有碰到过。
代码1:
Application对象中有一个Evaluate方法,不少同学肯定有用过。很多时候,在访问这个方法的时候有人可能会偷懒,不加上Application这个前缀。在这个演示中,添加了一个Evaluate公共函数。执行test过程时,会调用Evaluate方法(本意是调用应用程序对象中的Evaluate方法),结果test过程执行时就是调用的该模块中的Evaluate方。 为了避免这种错误,一是不要把自定义的过程名与Excel对象中提供的方法名相同,二是加上相对应的对象名。
使用Private声明的过程,由于在模块外无法访问到,所以也就不存在混淆之说。
在工作表,工作簿这些Excel对象中的事件过程,均是以private声明。
过程命名尽量有意义,中文,英文,汉语缩写也好,总之让使用者一看到名字就能猜到过程要实现的功能,解决的问题最好。
2.如何访问VBA工程中Excel对象中公开的过程
在工程资源管理器中,在每个VBA工程中都有Excel对象,这些对象与工作表,工作簿挂钩。有多少个工作表,就会有多少个与之挂钩的Sheet对象。 在访问这些对象中的公有过程,公共的模块级变量时,都需在过程名与变量名前加上对象名前缀。 例如sheet1.mysub,shee2.strName,访问的就是sheet1中的公有过程mysub,sheet2中的公共模块级变量strName。 |