CallByName(object, procname, calltype,[args()])
CallByName是个很灵活的函数。帮助说明:执行一个对象的方法,或者设置或返回一个对象的属性。
即:通过名称来调用,这个函数可以通过使用“procname---属性/方法的名称",操作对象的属性和调用对象的方法。
1、返回(取得)对象的属性的值-----VbGet
Dim result As Variant result = CallByName(Range("A1"), "value", VbGet)
2、返回对象(即:属性的返回值是对象)-----VbGet
Dim inter As Interior Set inter = CallByName(Range("A1"), "Interior", VbGet)
3、给对象的属性赋值-----VbLet
CallByName Range("A1"), "value", VbLet, "new value"
4、可以嵌套
CallByName CallByName(Range("A1"), "Interior", VbGet), "ColorIndex", VbLet, 12
5、可以调用对象的方法(执行)-----VbMethod
CallByName Range("A1"), "delete", VbMethod
6、可以调用对象的方法,并传入参数(多个参数可用逗号隔开)-----VbMethod+args()
CallByName Range("A1"), "delete", VbMethod, xlShiftUp
注:可以和反射结合