||
题外话:年青人,如果你还没来得及学习vba,跳过它吧,直接学习vb.net或c#
CallByName函数是一个很容易被忽略的函数,很多人都认为它是一个鸡肋的函数。
但事实上,它并不是!它只是生活在童话里的那只丑小鸭。
1、vba帮助是如何定义CallByName函数?
CallByName 函数
执行一个对象的方法,或者设置或返回一个对象的属性。
语法
CallByName(object, procname, calltype,[args()])
CallByName 函数的语法有以下命名参数:
部分 | 描述 |
---|---|
object | 必需的;变体型(对象)。函数将要执行的对象的名称。 |
procname | 必需的;变体型(字符串)。一个包含该对象的属性名称或者方法名称的字符串表达式。 |
calltype | 必需的;常数。一个 vbCallType 类型的常数,代表正在被调用的过程的类型。 |
args() | 可选的:变体型(数组)。 |
说明
CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。
个人理解与说明:
CallByName是使用iDispatch接口,也就是后期绑定。所以性能比前期绑定要差一些。
Vba中的自定义类,都是双接口,所以CallByName,可以适用于自定义类的实例化对象。
CallByName无法使用模块中的函数。要使用函数,都须用类包装起来。
2、CallByName简单的使用例子:
CallByName Me.Text1, "mousepointer", VbLet, vbCrosshair '设置text1文本框的鼠标样式。
Result = CallByName (Text1, "text", vbGet) '获取text1的值
CallByName Text1, "Move", vbMethod, 100, 100
如果单看这些vba提供简单的例子,都会觉得CallByname挺鸡肋的。
|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )
GMT+8, 2024-11-25 07:49 , Processed in 0.067684 second(s), 17 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.