VBA小探CallByName

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 

 

注:可以和反射结合

 

posted @ 2017-01-11 17:58  复杂的石头  阅读(...)  评论(...编辑  收藏