资源描述:
《matlab生成word和excel文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、利用MATLAB生成Word和Excel文档天津科技大学数学系谢中华E-mail:xiezhh@tust.edu.cn7/5/2021我的新书感谢赵社长和陈守平编辑!感谢rocwoods(吴鹏)!感谢math!感谢各位版友的捧场!7/5/2021本次报告的提纲※组件对象模型(COM)※MATLAB中的ActiveX控件接口技术※利用MATLAB生成Word文档※利用MATLAB生成Excel文档7/5/2021第一节组件对象模型(COM)7/5/2021组件对象模型(ComponentObjectModel,简称COM),它是微软公司为了使软件开发更加符合人类的行为方式而提
2、出的一种规范。在这种规范下,单个应用程序被分隔成多个独立的部分,也即组件(Component),这种做法的好处是可以随着技术的发展而用新的组件取代已有的组件,此时的应用程序不再是一个一出生就命中注定要过时的静态程序,而是随时可以用新组件取代旧组件而返老还童的动态程序。一、什么是COM7/5/2021接口查询生存期控制二、COM接口1.IUnknown接口2.IDispatch接口IDispatch接口接收一个函数名并执行它7/5/2021第二节MATLAB中的ActiveX控件接口技术一、actxcontrol函数h=actxcontrol('progid')h=actxc
3、ontrol('progid','param1',value1,…)h=actxcontrol('progid',position)h=actxcontrol('progid',position,fig_handle)h=actxcontrol('progid',position,fig_handle,event_handler)h=actxcontrol('progid',position,fig_handle,event_handler,'filename')【例1】创建日历控件%新建一个图形窗口,指定图形窗口大小,返回图形窗口句柄f>>f=figure('positi
4、on',[360278535410]);%在新建的图形窗口中创建一个日历控件,并设置控件的大小>>cal=actxcontrol('mscal.calendar',[00535410],f)cal=COM.mscal_calendar7/5/2021>>eventhandle=@(varargin)disp('祝大家身体健康!');>>f=figure('position',[360,278,535,410]);>>cal=actxcontrol('mscal.calendar',[0,0,535,410],f,eventhandle);7/5/2021二、actxcont
5、rollist函数查看系统上当前安装的所有COM控件>>C=actxcontrollist%查看系统上当前安装的所有COM控件7/5/2021三、actxcontrolselect函数h=actxcontrolselect[h,info]=actxcontrolselect7/5/2021四、actxserver函数h=actxserver('progid')h=actxserver('progid','machine','machineName')h=actxserver('progid','interface','interfaceName')h=actxserver(
6、'progid','machine','machineName','interface','interfaceName')h=actxserver('progid',machine)【例2】通过MATLAB控制WindowsMediaPlayer播放歌曲%创建WindowsMediaPlayer服务器,并返回对象句柄h>>h=actxserver('WMPlayer.OCX.7');%播放歌曲青花瓷>>h.openPlayer('F:我的音乐盒青花瓷.mp3')7/5/2021五、查询COM对象的接口、方法和事件7/5/2021六、识别COM对象、接口、属性、方法和事件
7、7/5/2021七、查询和设置COM对象(或接口)的属性get方法inspect方法set方法addproperty方法deleteproperty方法7/5/2021八、调用COM对象和接口下的方法S=h.invoke('methodname')S=h.invoke('methodname',arg1,arg2,…)V=h.methodnameV=h.methodname(arg1,arg2,…)【例3】创建一个日历控件,在一个循环里调用NextDay方法,将时间后推1000天,并返回当时的时间>>cal=act