有什么例子展示了如何使用ActiveX自动化接口连接MATLAB Excel ?

225(30天)
我试图从MATLAB使用ActiveX控制Excel。我想一些例子,展示如何使用ActiveX自动化接口从Excel。

接受的答案

MathWorks支金宝app持团队
MathWorks支金宝app持团队 2021年12月10日
编辑:MathWorks支金宝app持团队 2021年12月13日
这种增强已经纳入文档发布14 Service Pack 3 (R14SP3)。你可以找到一个例子在“外部接口”手册章节“COM和DDE支持(Windows)”下的“使用MATLAB作为一个ActiveX客户端”或在网上:金宝app
之前的产品发布,请见下面的例子:
大部分的功能,从ActiveX依赖于对象模型,外部应用程序实现。因此,我们通常无法提供太多的信息功能,您需要使用远程应用程序执行一个特定的函数。然而,我们所做的一个示例,展示了如何在Excel中执行常见的功能。
我们还建议您更熟悉Excel对象模型以更好地使用Excel的ActiveX自动化从MATLAB接口。你可以找到关于这个接口的更多信息通过选择“Microsoft Excel Visual Basic参考”主题在Microsoft Excel帮助主题对话框。这一主题区域包含Excel的搜索描述的方法和属性。
下面的例子演示了如何插入MATLAB数据到Excel。它还显示了如何从Excel在MATLAB中提取一些数据。的更多信息,请参阅每个代码段的个人评论。
%打开Excel,添加工作簿,改变活动工作表,
% get / put数组,保存并关闭
%第一次打开一个Excel服务器
Excel = actxserver (“Excel.Application”);
集(Excel,“可见”1);
%插入一个新工作簿
手册= Excel.Workbooks;
工作簿=调用(练习册,“添加”);
%使第二个表活跃
表= Excel.ActiveWorkBook.Sheets;
sheet2 =得到(表,“项目”2);
调用(sheet2“激活”);
%活跃表进行处理
Activesheet = Excel.Activesheet;
%将MATLAB数组到Excel
= (1 - 2;3 4];
ActivesheetRange =得到(Activesheet,“范围”,A1: B2的);
集(ActivesheetRange,“价值”,);
%回到一个范围。这将是一个单元阵列,
%因为细胞范围可以
%包含不同类型的数据。
范围=得到(Activesheet,“范围”,A1: B2的);
B = Range.value;
%转换为一个双矩阵。单元阵列必须只包含标量。
B =重塑({}):[B,大小(B));
%现在保存工作簿
调用(工作簿,“SaveAs”,“myfile.xls”);
%,以避免保存工作簿和提示,
%取消下面的代码。
%工作簿。保存= 1;
%调用(工作簿,“关闭”);
% Excel辞职
调用(Excel,“退出”);
%结束流程
删除(Excel);
有几个选项,将MATLAB与Excel。为例,展示了如何将MATLAB与Excel使用Excel链接,参考下面的“相关解决方案”。金宝搏官方网站
为例,展示了如何使用DDE连接MATLAB与Excel,参考下面的“相关解决方案”。金宝搏官方网站
信息如何使用XLSREAD函数来读取xls文件,请参考以下网址:
5个评论
dpb
dpb 2023年1月26日
只是偶然在这个线程——虽然是旧的,问了吗?是一种常见的一个新手,答案是,ActiveX COM接口,你必须计数和通过所有参数的位置如图所示MS Excel VBA或者c#文档;没有办法从MATLAB COM使用命名参数值;它没有VBA或c#编译器可用来为你替换。
通过空“[]”参数为所有那些前你需要作为占位符来获得正确的位置的位置感兴趣的参数。

登录置评。

更多的答案(0)

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!