使用工具库:初始化

注意,前面介绍的库编译器自动生成的VBA模块代码中有这样一段代码:

code.excel vba
Dim MCLUtil As Object
Dim bModuleInitialized As Boolean
Private Sub InitModule()
    If Not bModuleInitialized Then
        On Error GoTo Handle_Error
        If MCLUtil Is Nothing Then
            Set MCLUtil=text-blue-400">CreateObject("MWComUtil.MWUtil23.2")
        End If
        Call MCLUtil.MWInitApplication(text-blue-400">Application)

        bModuleInitialized=True
        Exit Sub
Handle_Error:
        bModuleInitialized=False
    End If
End Sub

这段代码对模块进行初始化,其中用到了MWComUtil组件,即所谓的工具库。使用Excel插件时必须要用到工具库。1.5节会提供该库更详细的资料。

在使用任何MATLAB Excel组件前,用 Excel的当前实例初始化工具库。用工具库函数MWInitApplication来进行初始化,该函数是MWUtil类的一个成员,而MWUtil类是MWComUtil库的一部分。

添加初始化代码到VBA模块的方法是提供一个过程。该过程提供一次初始化,当发生调用时退出。上面的VBA代码用一个名为MCLUtil的Object类型的全局变量控制MWUtil类的一个实例,另一个名为bModuleInited的Boolean型变量保存初始化过程的状态。

私有过程InitModule创建MWComUtil类的一个实例,并且用Application的一个变量调用MWInitApplication方法,执行以后,所有后面的调用将在不重新初始化的情况下退出。