?? actexcel.m
字號(hào):
excel=actxserver('Excel.Application');%啟動(dòng)Excel并返回名為excel的Activex服務(wù)器對(duì)象
disp('為看清Excel界面及其變化,請(qǐng)把MATLAB界面調(diào)整的遠(yuǎn)小于屏幕!')
disp('按任意鍵,將可看到“Excel界面”出現(xiàn)。')
pause
set(excel,'Visible',1); %使開(kāi)啟的Excel默認(rèn)界面可見(jiàn)
disp('按任意鍵,可見(jiàn)到Excel界面出現(xiàn)第一張表激活的“空白工作薄”。')
pause
wkbs=excel.Workbooks; %新工作薄句柄
Wbk=invoke(wkbs,'Add'); %產(chǎn)生空白的新工作薄
disp('按任意鍵,當(dāng)前激活表由第一張變?yōu)橹付ǖ牡诙垺?#039;)
pause
Sh=excel.ActiveWorkBook.Sheets; %當(dāng)前激活工作薄的表格句柄
sh2=get(Sh,'Item',2); %取得第二張表的句柄
invoke(sh2,'Activate'); %使第二張表為當(dāng)前激活頁(yè)
disp('按任意鍵,把MATLAB空間中的A矩陣送到Excel的指定位置。')
pause
Actsh=excel.Activesheet; %當(dāng)前激活表的句柄
A=[1,2;3,4];
actshrng=get(Actsh,'Range','A1','B2'); %得到當(dāng)前表指定區(qū)域的句柄
set(actshrng,'Value',A); %把A矩陣送到Excel的指定區(qū)域
disp('按任意鍵,獲取Excel指定區(qū)域內(nèi)的數(shù)據(jù),') %第21行
disp('并以MyExcel.xls文件形式保存在D:\MATLAB7\work目錄上。')
pause
rg=get(Actsh,'Range','A1','B2'); %得到Excel指定區(qū)域句柄
B=rg.value; %獲取指定區(qū)域上的值
B=reshape([B{:}],size(B));
invoke(Wbk,'SaveAs','D:\MATLAB7\work\MyExcel.xls');%把Wbk工作簿保存在指定目錄下
disp('按任意鍵,關(guān)閉excel句柄代表的Excel。')
pause
invoke(excel,'Quit'); %關(guān)閉Excel
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -