分发加载项并集成到 Microsoft Excel 中
要创建 Microsoft® Excel® 加载项,请参阅从 MATLAB 创建 Excel 加载项。
创建 Excel 加载项后,请按照以下步骤将该加载项部署到另一台计算机上。
验证您是否已收到部署所需的所有文件。
安装 MATLAB® Runtime。
使用生成的安装程序、
_install.bat
安装脚本或mwregsvr
注册您的加载项 DLL。使用
mwcomutil.dll
注册实用工具库mwcommgr.dll
和mwregsvr
。在 Excel 中安装加载项。
直接在工作表中调用加载项函数。
(可选)使用 Function Wizard 或自定义 VBA 代码创建宏。
Excel 加载项部署的文件
如果您使用 Excel 加载项编译器创建了 Excel 加载项,或者使用 compiler.package.installer
创建了安装程序,请将生成的安装程序分发给最终用户。安装程序安装 Excel 加载项和 MATLAB Runtime,并在目标计算机上注册加载项 DLL。Excel 加载项编译器还生成一个名为 _install.bat
的安装脚本,该脚本注册加载项 DLL。若要不使用安装程序或脚本来注册 DLL,请参阅注册加载项和 COM 组件以下。
如果您未创建安装程序,请分发 MATLAB Compiler™ 在输出文件夹中生成的以下文件。
文件 | 描述 |
---|---|
_install.bat | 注册生成的 |
filename.bas | 可以导入到 VBA 工程中的 VBA 模块文件。 |
filename.xla | 可以直接添加到 Excel 的 Excel 加载项。您不需要同时使用 |
filename_2_0.dll | 需要使用 |
安装 MATLAB Runtime
MATLAB Runtime 包含在无需 MATLAB 许可副本的目标系统上使用已编译 MATLAB 代码所需的库。有关说明,请参阅下载并安装 MATLAB Runtime。
Windows® 版 MATLAB Runtime 安装程序会自动设置系统路径并注册 Excel 加载项所需的 MATLAB Runtime DLL。要手动执行这些步骤,请参阅在网络驱动器上部署应用程序和 MATLAB Runtime。
注册加载项和 COM 组件
注意
MATLAB Compiler 和 MATLAB Compiler SDK™ 中均使用 COM 组件,因此一些与构建和打包 COM 组件和加载项有关的说明可以在产品之间共享。
当您创建 COM 组件时,它会根据您的登录特权在 HKEY_LOCAL_MACHINE
或 HKEY_CURRENT_USER
中注册。
如果您发现由于 Microsoft 或您的安装所施加的安全标准而需要更改运行时权限,则可以在部署 COM 组件或加载项之前执行以下操作之一:
运行 COM 组件或加载项之前以
administrator
身份登录在运行 COM 组件或加载项之前运行以下
mwregsvr
命令,如下所示:其中:mwregsvr [/u] [/s] [/useronly] project_name.dll
/u
允许任何用户取消注册此服务器的 COM 组件或加载项/s
静默运行此命令,不生成任何消息。这对于静默安装很有帮助。/useronly
仅允许当前登录的用户在此服务器上运行 COM 组件或加载项
小心
如果您的 COM 组件在 USER
配置单元中注册,则在启用了 UAC (User Access Control) 的系统上以 administrator
身份运行的 Windows Vista® 或 Windows 7 用户将看不到它。
如果您在 Windows 7 或 Windows Vista 下将组件注册到 USER
配置单元,则在以提升的 (administrator
) 特权运行时,您的 COM 组件可能无法加载。
如果发生这种情况,请执行以下操作将组件重新注册到 LOCAL MACHINE
配置单元:
用以下命令取消注册该组件:
mwregsvr /u /useronly my_dll.dll
使用以下命令将组件重新注册到
LOCAL MACHINE
配置单元:mwregsvr my_dll.dll
注册 MATLAB 实用工具库
为了处理数据转换,您使用 MATLAB Compiler 生成的 VBA 代码引用了 mwcomutil.dll
和 mwcommgr.dll
实用工具库。要注册这些库:
打开系统命令提示符
导航到
,其中matlabroot
\bin\win64matlabroot
代表与您用于编译 MATLAB 加载项的 MATLAB 版本相对应的 Excel 或 MATLAB Runtime 的位置。运行以下命令:
mwregsvr mwcomutil.dll
mwregsvr mwcommgr.dll
安装 Excel 加载项
按照适合您的 Excel 版本的步骤在 Microsoft Excel 中安装该加载项。
Excel 2010 或更新版本
在 Excel 中,点击文件选项卡。
在左侧导航窗格中,选择选项。
在“Excel 选项”对话框的左侧导航窗格中,选择加载项。
在“管理”下拉列表中,选择 Excel 加载项,然后点击转到。
在“加载项”对话框中,点击浏览。
浏览到您的加载项并选择它。点击确定。
在 Excel 加载项”对话框中,验证是否选择了包含加载项的条目。点击确定。
Excel 2007
启动 Microsoft Excel。
点击 Office 按钮 (
) 并选择 Excel 选项。
在“Excel 选项”对话框的左侧窗格中,点击加载项。
在“Excel 选项”对话框的右侧窗格中,从管理下拉列表中选择 Excel 加载项。
点击开始。
点击浏览。
浏览到您的加载项并选择它。点击确定。
在 Excel 加载项”对话框中,验证是否选择了包含加载项的条目。点击确定。
在 Excel 电子表格中使用 MATLAB 函数
在 Excel 中安装该加载项后,可以通过 Excel 自定义函数形式的方法调用直接调用该加载项函数。
可选择使用 Excel 宏指定输入和输出单元格、一次执行多个函数或处理多个输出。使用 MATLAB Compiler 提供的 Function Wizard 加载项创建宏。要获得其他功能,请使用自定义 VBA 代码创建或修改宏。
直接在电子表格中调用方法
要在 MATLAB 电子表格中运行 Excel 函数,请在目标输出单元格中使用方法调用来调用该函数。例如,如果您部署了名为 mymagic.m
的 MATLAB 代码或名为 mymagic.fig
的图形,则通过在电子表格的单元格中输入以下函数来调用该代码:
=mymagic()
如果您的函数返回一个数组,请选择一个单元格范围以匹配数组大小。
提示
如果方法调用没有立即执行,请同时按 Ctrl、Shift 和 Enter。
使用 Function Wizard 创建 Excel 宏
Function Wizard 提供了一个控制面板,用于使用一个或多个已编译的 MATLAB 函数创建宏。使用 Function Wizard 控制 MATLAB 输入和输出数据在 Excel 工作表中的放置。
有关详细信息,请参阅安装和使用 Function Wizard。
使用 VBA 创建 Excel 宏
使用 VBA 代码创建具有比 Function Wizard 所允许的更多功能的 Excel 宏。您可以使用变量、循环、表单、控件和其他编程技术来创建自定义 Excel 程序。
有关使用 VBA 代码创建自定义图形 Excel 应用程序的示例,请参阅使用 Visual Basic 表单控件实现用户界面。