除了前面讲的以公式和宏的方式进行使用,还可以直接使用COM组件来生成魔方矩阵。使用COM组件有后期绑定和前期绑定两种使用方式,这里介绍后期绑定的使用方式。
后期绑定的使用方式是用CreateObject函数来创建magic组件中magicclass类的实例。注意,magicclass是Object类型的。我们知道它是一个对象,但开始并不知道它是什么类型的对象,这个是后来用CreateObject函数给它绑定的。CreateObject函数的参数"magic.magicclass.1_0"是组件的ProgID号。典型代码如下所示。
code.excel vba
Dim magicclass As Object
Set magicclass=text-blue-400">CreateObject("magic.magicclass.1_0")
本例中,在原来VBA模块代码的基础上添加一个Test过程。该过程调用mymagic函数,以后期绑定的方式生成4阶魔方矩阵,并输出到工作表的A1:D4单元格区域。
code.excel vba
Sub Test()
text-blue-400">Range("A1:D4")=mymagic(4)
End Sub
运行Test过程,结果如图4-7所示。
图4-7 后期绑定的方式使用COM组件