Matlab---如何利用Com对象
2013-12-06 09:37
323 查看
% 1获取Com对象清单
list = actxcontrollist;
s=sprintf(' Name = %s\n ProgID = %s\n File = %s\n', list{114:115,:});
h = actxcontrolselect;% 获取GUI控件
% 2 查找某个Com对象。
for ii = 1:length(list)
if ~isempty(strfind([list{ii,:}],'word'))
s = sprintf(' Name = %s\n ProgID = %s\n File = %s\n', ...
list{ii,:})
end
end
% 3 获取GUI COM控件
s=actxcontrolselect;
% 4 创建Com对象、
e=actxserver('Excel.application');
e.visible=1; %可视化
eWorkbooks=e.Workbooks;
w=eWorkbooks.Add
%5 获取属性、接口
e.get % 提取属性用get
isprop %是否是属性
isinterface% 是否是接口
e.get('Visible') %提取某个属性的值 e.visible e.Visible 属性不区分大小写
e.visible=1; e.set('visile',1); set(e,'visible',1) ;% 修改属性
cal = actxcontrol('mscal.calendar', [0 0 500 500]);
cal.propedit % 可视化修改属性
e.addproperty('positon')
e.deleteproperty('positon')
%6 获取方法
e.invoke% 提取方法用invoke
e.methods% 提取方法用methods
e.methods('-full') % 详细信息
e.methodsview % 提取方法用methods 可视化
ismethod
%7 获取事件
e.events
e.eventlisteners % 显示未注册的事件
isevent
%8 退出
e.Workbook.Close
e.Quit; % 退出实例,还可以重新调用。
e.release %释放控制 ,不能重新调用了。
e.delete;% 释放控制,删除对象, 不能重新调用了。
delete(e)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
分享一个类,用于整合Com对象的属性,接口,类,方法
classdef getCom
properties
interface
subinterface
propoties
method
class
event
end
methods
function obj=getCom(Component)
obj.interface=Component;
obj.event=Component.events;
obj.method=Component.methods;
obj.class=Component.class;
s=Component.get;
[obj.propoties,obj.subinterface]=getprop_subinterface(s);
end
end
methods
function [propoties,subinterface]=getprop_subinterface(s)
n=0;m=0;
fieldslist=fields(s);
for i=1:length(fieldslist)
if isinterface(s.(fieldslist{i}))
m=m+1;
subinterface.(fieldslist{i})=s.(fieldslist{i});
else
n=n+1;
propoties.(fieldslist{i})=s.(fieldslist{i});
end
end
propoties=orderfields(propoties);
subinterface=orderfields(subinterface);
end
end
end
list = actxcontrollist;
s=sprintf(' Name = %s\n ProgID = %s\n File = %s\n', list{114:115,:});
h = actxcontrolselect;% 获取GUI控件
% 2 查找某个Com对象。
for ii = 1:length(list)
if ~isempty(strfind([list{ii,:}],'word'))
s = sprintf(' Name = %s\n ProgID = %s\n File = %s\n', ...
list{ii,:})
end
end
% 3 获取GUI COM控件
s=actxcontrolselect;
% 4 创建Com对象、
e=actxserver('Excel.application');
e.visible=1; %可视化
eWorkbooks=e.Workbooks;
w=eWorkbooks.Add
%5 获取属性、接口
e.get % 提取属性用get
isprop %是否是属性
isinterface% 是否是接口
e.get('Visible') %提取某个属性的值 e.visible e.Visible 属性不区分大小写
e.visible=1; e.set('visile',1); set(e,'visible',1) ;% 修改属性
cal = actxcontrol('mscal.calendar', [0 0 500 500]);
cal.propedit % 可视化修改属性
e.addproperty('positon')
e.deleteproperty('positon')
%6 获取方法
e.invoke% 提取方法用invoke
e.methods% 提取方法用methods
e.methods('-full') % 详细信息
e.methodsview % 提取方法用methods 可视化
ismethod
%7 获取事件
e.events
e.eventlisteners % 显示未注册的事件
isevent
%8 退出
e.Workbook.Close
e.Quit; % 退出实例,还可以重新调用。
e.release %释放控制 ,不能重新调用了。
e.delete;% 释放控制,删除对象, 不能重新调用了。
delete(e)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
分享一个类,用于整合Com对象的属性,接口,类,方法
classdef getCom
properties
interface
subinterface
propoties
method
class
event
end
methods
function obj=getCom(Component)
obj.interface=Component;
obj.event=Component.events;
obj.method=Component.methods;
obj.class=Component.class;
s=Component.get;
[obj.propoties,obj.subinterface]=getprop_subinterface(s);
end
end
methods
function [propoties,subinterface]=getprop_subinterface(s)
n=0;m=0;
fieldslist=fields(s);
for i=1:length(fieldslist)
if isinterface(s.(fieldslist{i}))
m=m+1;
subinterface.(fieldslist{i})=s.(fieldslist{i});
else
n=n+1;
propoties.(fieldslist{i})=s.(fieldslist{i});
end
end
propoties=orderfields(propoties);
subinterface=orderfields(subinterface);
end
end
end
相关文章推荐
- 如何利用matlab将模糊逻辑转化为查询表
- 利用matlab如何在图形中绘制箭头
- 如何利用matlab做BP神经网络分析(包括利用matlab神经网络工具箱)
- 如何利用matlab将模糊逻辑转化为查询表
- 如何利用matlab进行频谱分析
- 如何利用matlab将模糊逻辑转化为查询表
- 如何利用MATLAB并行计算缩短程序运行时间
- 如何利用MATLAB提取datasheet中曲线的数据
- 如何利用MATLAB求矩阵的逆阵?
- 如何利用matlab爬虫抓数据
- [新手学Caffe之三]如何在Caffe中加入新的layer并利用Matlab进行调试
- 如何利用fsolve求方程组[matlab]
- 如何利用Matlab将.jpg变成logo-将图片白色去掉
- 如何利用matlab将模糊逻辑转化为查询表
- 利用matlab如何在图形中绘制箭头
- 如何利用代码标注 MATLAB 图像上的某些点
- 如何制作装机启动盘及重装系统; 如何利用百度云盘下载MATLAB等资料软件 ;如何安装镜像ISO文件
- 如何利用旋转矩阵得到四元数
- 木马如何利用Windows系统文件System.ini和Win.ini加载运行
- 如何利用CEF3创建一个简单的应用程序 (Windows Platform)