Excel 加载项编译的工作原理
使用 MATLAB® Compiler™,您可以通过 MATLAB 代码创建在 Microsoft® Excel® 应用程序中运行的可部署加载项。要转换 MATLAB 函数以在 Excel 加载项中使用,请使用 Excel 加载项编译器、compiler.build.excelAddIn 函数或 mcc 函数。
当您编译 MATLAB 代码时,MATLAB Compiler 会生成两个主要工件:一个 COM 组件 (.dll) 和一个 VBA 模块 (.bas),然后它将这两者集成到 Microsoft Excel 加载项 (.xla) 中。
为支持与 Microsoft Excel 的集成,MATLAB Compiler 会基于组件对象模型(Microsoft 用于实现对象互操作的二进制标准)将每个 Excel 加载项编译为一个 COM 对象。COM 组件采用通用的集成架构,该架构在多个应用程序(包括 Microsoft Office 应用程序)中提供一致的模型。
要将 COM 组件与您的应用程序集成,您可以通过 Microsoft Visual Basic® for Applications (VBA) 从 Microsoft Excel 访问 COM 对象。COM 对象向 Visual Basic 编程环境公开单个类。此类以方法的形式提供 MATLAB 函数的接口,这些方法对应于您在工程中包含的原始 MATLAB 函数。VBA 模块中包含简单的调用包装器,其中每个包装器都是针对类中相应方法实现的函数过程。