06.08.2013 Views

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

12.4.1 关于 ActiveX 的一般性说明<br />

12.4.2 MATLAB 的 ActiveX 自动化<br />

12.4.2.1 MATLAB ActiveX 自动化控制器<br />

【例 12.4.2-1】MATLAB 以自动化客户的资格通过 M 脚本文件把 Microsoft Excel 用作自动<br />

化服务器。本例演示调用自动化服务器的基本指令:Excel 缺省界面的开启;增添工作簿<br />

(Workbook);改变激活的当前页(Worksheet);MATLAB 与 Excel 之间的数据传递;<br />

Excel 的数据保存。<br />

% exm12042_1.m<br />

excel = actxserver('Excel.Application');<br />

%<br />

%<br />

disp('为看清 Excel 界面及其变化,请把 MATLAB 界面调整得远小于屏幕!')<br />

disp('按任意键,将可见到“Excel 界面”出现。')<br />

pause<br />

set(excel, 'Visible', 1);<br />

disp('按任意键,可见到 Excel 界面出现第一张表激活的“空白工作簿”。')<br />

pause<br />

wkbs = excel.Workbooks;<br />

Wbk = invoke(wkbs, 'Add');<br />

disp('按任意键,当前激活表由第一张变为指定的第二张。')<br />

pause<br />

Sh = excel.ActiveWorkBook.Sheets;<br />

sh2 = get(Sh, 'Item', 2);<br />

invoke(sh2, 'Activate');<br />

disp('按任意键,把 MATLAB 空间中的 A 矩阵送到 Excel 的指定位置。')<br />

pause<br />

Actsh = excel.Activesheet;<br />

A = [1,2 ;3,4];<br />

actshrng = get(Actsh,'Range','A1','B2');<br />

set(actshrng, 'Value', A); % <br />

disp('按任意键,获取 Excel 指定区域上的数据,')<br />

disp('并以 MyExcel.xls 文件形式保存在 D:\mywork 目录上。')<br />

pause<br />

rg = get(Actsh, 'Range', 'A1', 'B2');<br />

B = rg.value;<br />

B = reshape([B{:}], size(B));<br />

invoke(Wbk, 'SaveAs', 'D:\mywork\myfile.xls');<br />

disp('按任意键,关闭 excel 句柄代表的 Excel。')<br />

pause<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!