VBA中菜单工具引用和用CreateObject来创建对象的区别(前期引用和后期绑定)

2017-11-11 15:57:00
黄善超
原创
94

前面我们在《利用VBA Createobject函数创建的常用对象》一文中说过用CreateObject来创建对象。

也有介绍过如何在VBE窗口中直接引用对象。这个就是我们今天要说的前期引用和后期引用。这两者到底有什么区别呢?


首先说明小编在这里所说的“前期引用”和“后期引用”是自己定义的说法。官方并没有给出这个专业术语

“前期引用”就是按 Alt+F11 到 VBE 界面,菜单->工具->引用 里面去引用对应的类库,然后可以在代码中用

如定义一个ADO记录集,这种方法来声明对象

Dim rs As New Adodb.Recordset  

“后期引用”即是用 CreateObject来建立某个对象,

Dim Rs As Object Set Rs = CreateObject("Adodb.Recordset")


两者比较,优缺点:

前期引用的优点

1、可以在编写程序的时候直接引用一些类的定义,有对象提示,方便编写代码。

2、一般的,CreateObject能够实现的直接引用都可以实现,但反过来不成立。

前期引用的缺点

1、兼容性不强,只能在编译程序之前将所有需要用的都引用,容易因为版本的问题或者控件的问题导致出错


后期引用的优点:

1、比较容易编写出错处理的代码。

2、能够在发布程序之后向程序中添加一些你已经在发布前预留好特定接口的后续对象,方便我们做插件程序

后期引用的缺点:

1、没有代码提示功能,对于新手比较吃力

2、程序执行效率对比前期引用


小编水平有限,如有错误,欢迎斧正!

分享