MATLAB生成Word和Excel文檔_第1頁
MATLAB生成Word和Excel文檔_第2頁
MATLAB生成Word和Excel文檔_第3頁
MATLAB生成Word和Excel文檔_第4頁
MATLAB生成Word和Excel文檔_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 利用MATLAB生成Word和Excel文檔天天 津津 科科 技技 大大 學(xué)學(xué) 數(shù)數(shù) 學(xué)學(xué) 系系 謝中華謝中華E-mail: 論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 我的新書感謝趙社長和陳守平編輯!感謝趙社長和陳守平編輯!感謝感謝rocwoods(吳鵬)?。▍蛆i)!感謝感謝math!感謝各位版友的捧場感謝各位版友的捧場!論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 本次報告的提綱 組件對象模型(組件對象模型(COM) MATLAB中的中的Activ

2、eX控件接口技術(shù)控件接口技術(shù) 利用利用MATLAB生成生成Word文檔文檔 利用利用MATLAB生成生成Excel文檔文檔論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 第一節(jié)第一節(jié) 組件對象模型(組件對象模型(COM)論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 組件對象模型組件對象模型(Component Object Model,簡稱簡稱COM),它是微軟公司為了使軟件開發(fā)更加),它是微軟公司為了使軟件開發(fā)更加符合人類的行為方式而提出的一種規(guī)范。在這種規(guī)符合人類的行為方式而提出的一種規(guī)范。在這種規(guī)范下,單個應(yīng)用程序被分隔成多個

3、獨立的部分,也范下,單個應(yīng)用程序被分隔成多個獨立的部分,也即組件(即組件(Component),這種做法的好處是可以),這種做法的好處是可以隨著技術(shù)的發(fā)展而用新的組件取代已有的組件,此隨著技術(shù)的發(fā)展而用新的組件取代已有的組件,此時的應(yīng)用程序不再是一個一出生就命中注定要過時時的應(yīng)用程序不再是一個一出生就命中注定要過時的靜態(tài)程序,而是隨時可以用新組件取代舊組件而的靜態(tài)程序,而是隨時可以用新組件取代舊組件而返老還童的動態(tài)程序。返老還童的動態(tài)程序。一、什么是一、什么是COM論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 接口查詢接口查詢 生存期控制生存期控制二、二、COM

4、接口接口1. IUnknown接口接口2. IDispatch接口接口 IDispatch接口接收一個函數(shù)名并執(zhí)行它接口接收一個函數(shù)名并執(zhí)行它論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 第二節(jié)第二節(jié) MATLAB中的中的ActiveX控件接口技術(shù)控件接口技術(shù)一、一、actxcontrol函數(shù)函數(shù) h = actxcontrol(progid) h = actxcontrol(progid,param1,value1,) h = actxcontrol(progid, position) h = actxcontrol(progid, position, fig

5、_handle) h = actxcontrol(progid,position,fig_handle,event_handler) h = actxcontrol(progid,position,fig_handle,event_handler,filename)【例例1】創(chuàng)建日歷控件】創(chuàng)建日歷控件% 新建一個圖形窗口,指定圖形窗口大小,返回圖形窗口句柄新建一個圖形窗口,指定圖形窗口大小,返回圖形窗口句柄f f = figure(position, 360 278 535 410); % 在新建的圖形窗口中創(chuàng)建一個日歷控件,并設(shè)置控件的大小在新建的圖形窗口中創(chuàng)建一個日歷控件,并設(shè)置控件的大小

6、 cal = actxcontrol(mscal.calendar, 0 0 535 410, f) cal = COM.mscal_calendar論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. eventhandle = (varargin)disp(祝大家身體健康祝大家身體健康!); f = figure(position,360,278,535,410); cal = actxcontrol(mscal.calendar,0,0,535,410,f,eventhandle);論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 二、

7、二、actxcontrollist函數(shù)函數(shù)查看系統(tǒng)上當(dāng)前安裝的所有查看系統(tǒng)上當(dāng)前安裝的所有COM控件控件 C = actxcontrollist % 查看系統(tǒng)上當(dāng)前安裝的所有查看系統(tǒng)上當(dāng)前安裝的所有COM控件控件論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 三、三、actxcontrolselect函數(shù)函數(shù) h = actxcontrolselect h, info = actxcontrolselect論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 四、四、actxserver函數(shù)函數(shù) h = actxserver(progid)

8、 h = actxserver(progid, machine, machineName) h = actxserver(progid, interface, interfaceName) h = actxserver(progid, machine, machineName, interface, interfaceName) h = actxserver(progid, machine)【例例2】通過通過MATLAB控制控制Windows Media Player 播放歌曲播放歌曲% 創(chuàng)建創(chuàng)建Windows Media Player服務(wù)器,并返回對象句柄服務(wù)器,并返回對象句柄h h = a

9、ctxserver(WMPlayer.OCX.7);% 播放歌曲青花瓷播放歌曲青花瓷 h.openPlayer(F:我的音樂盒我的音樂盒青花瓷青花瓷.mp3)論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 五、查詢五、查詢COM對象的接口、方法和事件對象的接口、方法和事件論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 六、識別六、識別COM對象、接口、屬性、方法和事件對象、接口、屬性、方法和事件論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 七、查詢和設(shè)置七、查詢和設(shè)置COM對象(或接口)的屬性對象(或接

10、口)的屬性 get方法方法 inspect方法方法 set方法方法 addproperty方法方法 deleteproperty方法方法論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 八、調(diào)用八、調(diào)用COM對象和接口下的方法對象和接口下的方法 S = h.invoke(methodname) S = h.invoke(methodname, arg1, arg2,) V = h.methodname V = h.methodname(arg1, arg2,)【例例3】創(chuàng)建一個日歷控件,在一個循環(huán)里調(diào)用創(chuàng)建一個日歷控件,在一個循環(huán)里調(diào)用NextDay 方法,將時間后

11、推方法,將時間后推1000天,并返回當(dāng)時的時間天,并返回當(dāng)時的時間 cal = actxcontrol(mscal.calendar,10 10 540 400); for i=1:1000 cal.NextDay; end cal.Value % 返回修改后的時間返回修改后的時間論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 九、注冊或注銷事件九、注冊或注銷事件 registerevent方法方法 unregisterevent方法方法 unregisterallevents方法方法十、保存所做的工作十、保存所做的工作 save方法方法十一、釋放十一、釋放COM

12、接口和對象接口和對象 delete方法方法 release方法方法論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 第三節(jié)第三節(jié) 利用利用MATLAB生成生成Word文檔文檔 創(chuàng)建創(chuàng)建Microsoft Word服務(wù)器服務(wù)器 建立建立Word文本文檔文本文檔 插入表格插入表格 插入圖片插入圖片 插入頁眉、頁碼插入頁眉、頁碼 插入公式插入公式 保存文檔保存文檔 完整案例完整案例論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 一、創(chuàng)建一、創(chuàng)建Microsoft Word服務(wù)器服務(wù)器try % 若若Word服務(wù)器已經(jīng)打開,返回其句柄服務(wù)器已經(jīng)

13、打開,返回其句柄Word Word = actxGetRunningServer(Word.Application);catch % 創(chuàng)建一個創(chuàng)建一個Microsoft Word服務(wù)器,返回句柄服務(wù)器,返回句柄Word Word = actxserver(Word.Application); end1. 創(chuàng)建創(chuàng)建Microsoft Word服務(wù)器服務(wù)器% 設(shè)置設(shè)置Word服務(wù)器為可見狀態(tài)服務(wù)器為可見狀態(tài) set(Word, Visible, 1); %或或Word.Visible = 1;2. 設(shè)置對象屬性設(shè)置對象屬性論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系.

14、 二、建立二、建立Word文本文檔文本文檔% 調(diào)用調(diào)用Add方法建立一個空白文檔,并返回其句柄方法建立一個空白文檔,并返回其句柄Document. Document = Word.Documents.Add;1. 新建空白文檔新建空白文檔論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. Document.PageSetup.get2. 頁面設(shè)置頁面設(shè)置 查看查看PageSetup接口的所有屬性接口的所有屬性 Document.PageSetup.TopMargin = 60; % 上邊距上邊距60磅磅 Document.PageSetup.BottomMargin

15、= 45; % 下邊距下邊距45磅磅 Document.PageSetup.LeftMargin = 45; % 左邊距左邊距45磅磅 Document.PageSetup.RightMargin = 45; % 右邊距右邊距45磅磅 頁面設(shè)置頁面設(shè)置 Document.PageSetup.set(VerticalAlignment) 查看枚舉類型屬性查看枚舉類型屬性VerticalAlignment的屬性值的屬性值論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 利用利用Document的的Content接口可以在文檔指定位置處寫接口可以在文檔指定位置處寫入一段文

16、字。入一段文字。Content接口有很多屬性和方法,讀者可通過接口有很多屬性和方法,讀者可通過Content.get和和Content.methodsview命令查看。其中命令查看。其中Start屬屬性用來獲取或設(shè)定文字內(nèi)容的起始位置,性用來獲取或設(shè)定文字內(nèi)容的起始位置,End屬性用來獲取屬性用來獲取或設(shè)定文字內(nèi)容的終止位置,或設(shè)定文字內(nèi)容的終止位置,Text屬性用來寫入文字內(nèi)容,屬性用來寫入文字內(nèi)容,F(xiàn)ont屬性用于字體設(shè)置,屬性用于字體設(shè)置,Paragraphs屬性用于段落設(shè)置。屬性用于段落設(shè)置。3. 寫入文字內(nèi)容寫入文字內(nèi)容 Content接口接口% 返回返回Document的的Cont

17、ent接口的句柄接口的句柄 Content = Document.Content; Content.Start = 0; % 設(shè)置文檔內(nèi)容的起始位置設(shè)置文檔內(nèi)容的起始位置 title = 試試 卷卷 分分 析析; Content.Text = title; % 輸入文字內(nèi)容輸入文字內(nèi)容 Content.Font.Size = 16 ; % 設(shè)置字號為設(shè)置字號為16論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 利用利用Word服務(wù)器的服務(wù)器的Selection接口可以在文檔中選定一接口可以在文檔中選定一個區(qū)域,并對所選區(qū)域進行相關(guān)操作個區(qū)域,并對所選區(qū)域進行相關(guān)操

18、作。 Selection接口接口% 返回返回Word服務(wù)器的服務(wù)器的Selection接口的句柄接口的句柄 Selection = Word. Selection; % 設(shè)置選定區(qū)域的起始位置為文檔內(nèi)容的末尾設(shè)置選定區(qū)域的起始位置為文檔內(nèi)容的末尾 Selection.Start = Content.end; Selection.TypeParagraph; % 回車,另起一段回車,另起一段 xueqi = ( 2009 2010 學(xué)年學(xué)年 第一學(xué)期)第一學(xué)期); Selection.Text = xueqi; % 在選定區(qū)域輸入文字內(nèi)容在選定區(qū)域輸入文字內(nèi)容 Selection.Font.Si

19、ze = 12; % 設(shè)置字號為設(shè)置字號為12 Selection.Font.Bold = 0; % 字體不加粗字體不加粗 Selection.paragraphformat.Alignment = wdAlignParagraphCenter; % 居中對齊居中對齊 Selection.MoveDown; % 光標(biāo)移到所選區(qū)域的最后光標(biāo)移到所選區(qū)域的最后 Selection.TypeParagraph; % 回車,另起一段回車,另起一段 Selection.TypeParagraph; % 回車,另起一段回車,另起一段 Selection.Font.Size=10.5; % 設(shè)置字號為設(shè)置字

20、號為10.5論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. Word服務(wù)器的很多接口下都有服務(wù)器的很多接口下都有Paragraphs接口,其作接口,其作用都是類似的,用來進行段落設(shè)置用都是類似的,用來進行段落設(shè)置。 Paragraphs接口接口% 返回返回Document的的Paragraphs接口的句柄接口的句柄 DP = Document.Paragraphs; DPI1 = DP.Item(1); % 返回第返回第1個段落的句柄個段落的句柄 DPI1.Range.Text = Im a teacher working in Tianjin Universit

21、y. of Science and Technology.; % 輸入第輸入第1自然段的文字內(nèi)容自然段的文字內(nèi)容% 居中對齊居中對齊 DPI1.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter; DPI1.Range.Font.Size = 12; % 設(shè)置字號為設(shè)置字號為12 DPI1.Range.Font.Bold = 4; % 字體加粗字體加粗% 在當(dāng)前自然段的后面插入一個新的自然段在當(dāng)前自然段的后面插入一個新的自然段 DPI1.Range.InsertParagraphAfter;% 第第2自然段首行縮進自然段首行縮進25

22、磅磅 DP.Item(2).FirstLineIndent = 25;論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 三、插入表格三、插入表格Document接口下有一個接口下有一個Tables接口,實際上接口,實際上Word和和Document的很多接口下都有的很多接口下都有Tables接口,比如接口,比如Word.ActiveDocument、Word.Selection、Document.Paragraphs.Item(1).Range和和Document.Content接口等。這些接口等。這些Tables接口的作用是相同的,接口的作用是相同的,用來在文檔中

23、插入表格。用來在文檔中插入表格。1. 插入表格插入表格 Table = Document.Tables.Add(handle, m, n);例如:例如: Tab1 = Document.Tables.Add(Selection.Range, 12, 9); Tab2 = Document.Tables.Add(Document.Paragraphs.Item(1).Range, 2,2);論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 表格表格句柄下有一個句柄下有一個Borders屬性屬性,它其實也是一個接它其實也是一個接口,用來設(shè)置表格邊框口,用來設(shè)置表格邊框。

24、2. 設(shè)置表格邊框設(shè)置表格邊框 Table.Borders.get % 查看查看Borders接口的所有屬性接口的所有屬性 Table.Borders.set(屬性名屬性名) % 查看查看Borders接口的屬性接口的屬性值值 Table.Borders.屬性名屬性名 = 屬性值屬性值 ; %設(shè)置表格邊框設(shè)置表格邊框 一個表格有一個表格有8種線(注意不是線型),分別對應(yīng)上邊種線(注意不是線型),分別對應(yīng)上邊框、左邊框、下邊框、右邊框、內(nèi)橫線、內(nèi)豎線、左框、左邊框、下邊框、右邊框、內(nèi)橫線、內(nèi)豎線、左上至右下內(nèi)斜線和左下至右上內(nèi)斜線上至右下內(nèi)斜線和左下至右上內(nèi)斜線論壇報告會論壇報告會 謝中華謝中華

25、, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 表格句柄表格句柄Table的的Rows屬性(也是一個接口)是指向表格各屬性(也是一個接口)是指向表格各行的接口,行的接口,Columns屬性(也是一個接口)是指向表格各列的屬性(也是一個接口)是指向表格各列的接口,通過這兩個接口來設(shè)置表格的行高、列寬和對齊方式等。接口,通過這兩個接口來設(shè)置表格的行高、列寬和對齊方式等。為行句柄下的為行句柄下的Height屬性和列句柄下的屬性和列句柄下的Width屬性分別賦值,屬性分別賦值,即可完成行高和列寬的設(shè)置即可完成行高和列寬的設(shè)置。3. 設(shè)置表格設(shè)置表格行高和列寬行高和列寬論壇報告會論壇報告會 謝中華謝中華,

26、天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. % 在光標(biāo)所在位置插入一個在光標(biāo)所在位置插入一個12行行9列的表格列的表格 Tab = Document.Tables.Add(Selection.Range,12,9);% 定義表格列寬向量和行高向量定義表格列寬向量和行高向量 column_width = 53.7736,85.1434,53.7736,35.0094,35.0094,. 76.6981,55.1887,52.9245,54.9057; row_height = 28.5849,28.5849,28.5849,28.5849,25.4717,25.4717,. 32.8302,312.

27、1698,17.8302,49.2453,14.1509,18.6792;% 通過循環(huán)設(shè)置表格每列的列寬通過循環(huán)設(shè)置表格每列的列寬 for i = 1:9 Tab.Columns.Item(i).Width = column_width(i); end% 通過循環(huán)設(shè)置表格每行的行高通過循環(huán)設(shè)置表格每行的行高 for i = 1:12 Tab.Rows.Item(i).Height = row_height(i); end論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. Rows接口的接口的Alignment屬性用來設(shè)置整個表格的水平對齊方屬性用來設(shè)置整個表格的水平對

28、齊方式。式。4. 設(shè)置設(shè)置表格對齊方式表格對齊方式 整體設(shè)置整體設(shè)置% 查看查看Alignment屬性的屬性值屬性的屬性值 DTI.Rows.set(Alignment)% 設(shè)置表格整體居中設(shè)置表格整體居中 Table.Rows.Alignment = wdAlignRowCenter; 按單元格分別設(shè)置按單元格分別設(shè)置% 設(shè)置表格的第設(shè)置表格的第1個單元格水平對齊方式個單元格水平對齊方式 DTI.Cell(1,1).Range.Paragraphs.Alignment = 屬性值屬性值% 設(shè)置表格的第設(shè)置表格的第1個單元格垂直對齊方式個單元格垂直對齊方式 DTI.Cell(1,1).Vert

29、icalAlignment = 屬性值屬性值;論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. Table.Cell(i1, j1).Merge(Table.Cell(i2, j2);5. 合并單元格合并單元格 Table.Cell(i, j).Range.Text = 單元格內(nèi)容單元格內(nèi)容;例如:例如: DTI.Cell(1,1).Range.Text = 課程名稱課程名稱; DTI.Cell(1,3).Range.Text = 課程號課程號; DTI.Cell(1,5).Range.Text = 任課教師學(xué)院任課教師學(xué)院; DTI.Cell(1,7).Range

30、.Text = 任課教師任課教師; DTI.Cell(2,1).Range.Text = 授課班級授課班級;6. 輸入單元格內(nèi)容輸入單元格內(nèi)容論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 四、插入圖片四、插入圖片 Document接口下有接口下有InlineShapes和和Shapes屬性屬性,它們它們都都是接口是接口,利用這利用這兩個接口可以在兩個接口可以在Word文檔中插入圖片。由文檔中插入圖片。由InlineShapes接口插入的圖片是接口插入的圖片是InlineShape對象對象;由;由Shapes接接口口插入的圖像是插入的圖像是Shape對象對象。 I

31、nlineShape對象對象可以是嵌入式可以是嵌入式OLE對象、鏈接式對象、鏈接式OLE對對象、嵌入式圖片、象、嵌入式圖片、OLE控件對象和水平線等??丶ο蠛退骄€等。Word文檔中一文檔中一幅版式為嵌入式的圖片就是一個幅版式為嵌入式的圖片就是一個InlineShape對象。可以將對象。可以將InlineShape對象理解為代表文檔文字層的對象,對象理解為代表文檔文字層的對象,InlineShape 對象被視為字符,可將其像字符一樣放置于一行文本中對象被視為字符,可將其像字符一樣放置于一行文本中。論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 可以將可以將Sha

32、pe對象對象理解為代表圖形層的對象,諸如自選圖理解為代表圖形層的對象,諸如自選圖形、任意多邊形、形、任意多邊形、OLE對象、對象、ActiveX控件、圖片等??丶?、圖片等。Shape對象鎖定于文本范圍內(nèi),但是能夠任意移動,使用戶可以將對象鎖定于文本范圍內(nèi),但是能夠任意移動,使用戶可以將它們定位于頁面的任何位置。它們定位于頁面的任何位置。Word文檔中一幅版式為四周型、文檔中一幅版式為四周型、緊密型、襯于文字下方或浮于文字上方的圖片就是一個緊密型、襯于文字下方或浮于文字上方的圖片就是一個Shape 對象對象。論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 1. In

33、lineShapes接口和接口和InlineShape對象對象% 返回返回InlineShapes接口的句柄接口的句柄 InlineShapes = Document.InlineShapes ; % 查看查看InlineShape對象的類型對象的類型 InlineShapes.Item(1).set(Type)2. Shapes接口和接口和Shape對象對象% 返回返回Shapes接口的句柄接口的句柄 Shapes = Document.Shapes ;% 查看查看Shape對象的類型對象的類型 Shapes.Item(1).set(Type);論壇報告會論壇報告會 謝中華謝中華, 天津科技

34、大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 3. 插入外部圖片插入外部圖片 handle = Document.InlineShapes.AddPicture(外部圖片所在路徑外部圖片所在路徑); handle = Selection.InlineShapes.AddPicture(外部圖片所在路徑外部圖片所在路徑); 插入插入InlineShape對象對象第第1條命令在整個文檔的左上角(默認(rèn)錨點位置)插入一幅外條命令在整個文檔的左上角(默認(rèn)錨點位置)插入一幅外部圖片。部圖片。第第2條命令在當(dāng)前光標(biāo)位置插入一幅外部圖片。兩條命令均返條命令在當(dāng)前光標(biāo)位置插入一幅外部圖片。兩條命令均返回當(dāng)前回當(dāng)前Inline

35、Shape對象(剛插入的圖片)的句柄對象(剛插入的圖片)的句柄handle.論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. handle = Document.Shapes.AddPicture(外部圖片所在路徑外部圖片所在路徑); handle = Document.Shapes.AddPicture(圖片路徑圖片路徑, LinkToFile, SaveWithDocument, Left, Top, Width, Height, Anchor) 插入插入Shape對象對象第第1條命令在整個文檔的左上角(默認(rèn)錨點位置)插入一幅外條命令在整個文檔的左上角(默認(rèn)錨點

36、位置)插入一幅外部圖片部圖片。第第2條命令的作用是指定錨點位置,并在距離錨點一定位置處條命令的作用是指定錨點位置,并在距離錨點一定位置處插入一幅外部圖片。后插入一幅外部圖片。后7個參數(shù)不是必須的,可以為空或從后個參數(shù)不是必須的,可以為空或從后向前忽略某些參數(shù)。需要注意的是,向前忽略某些參數(shù)。需要注意的是,參數(shù)參數(shù)LinkToFile和和SaveWithDocument的值不能同時為的值不能同時為0或或 False,但可以同時為,但可以同時為空空 論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)

37、系. 例如:例如:% 圖片完整路徑圖片完整路徑 filename = matlabroot toolboximagesimdemosfootball.jpg;% 在光標(biāo)位置處插入一幅圖片,版式為嵌入式在光標(biāo)位置處插入一幅圖片,版式為嵌入式 handle1 = Selection.InlineShapes.AddPicture(filename);% 在指定位置處加入一幅圖片,版式為浮于文字上方在指定位置處加入一幅圖片,版式為浮于文字上方 handle2 = Document.Shapes.AddPicture(filename, , , 180, 50, 200, 170);論壇報告會論壇報告

38、會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 4. 插入內(nèi)部圖片插入內(nèi)部圖片 Selection. Paste % 粘貼粘貼 Selection. PasteSpecial %選擇性粘貼選擇性粘貼 Word服務(wù)器下的很多接口都有服務(wù)器下的很多接口都有Paste和和PasteSpecial方法,方法,它們的作用就是將復(fù)制到剪貼板的內(nèi)容粘貼到它們的作用就是將復(fù)制到剪貼板的內(nèi)容粘貼到Word文檔中,文檔中,這里的內(nèi)容可以是文字、公式、表格和圖片等,也可以是外部這里的內(nèi)容可以是文字、公式、表格和圖片等,也可以是外部文件。也就是說只要是能復(fù)制到剪貼板的內(nèi)容,都可以通過文件。也就是說只要是能

39、復(fù)制到剪貼板的內(nèi)容,都可以通過Paste和和PasteSpecial方法,把它們插入到方法,把它們插入到Word文檔中。文檔中。論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 【例例4】調(diào)用調(diào)用normrnd函數(shù)生成函數(shù)生成1000個服從標(biāo)準(zhǔn)正態(tài)分布的隨機個服從標(biāo)準(zhǔn)正態(tài)分布的隨機數(shù),作出頻數(shù)直方圖,并把它插入到數(shù),作出頻數(shù)直方圖,并把它插入到Word文檔中。文檔中。% 調(diào)用調(diào)用normrnd函數(shù)生成函數(shù)生成1000個服從標(biāo)準(zhǔn)正態(tài)分布的隨機數(shù)個服從標(biāo)準(zhǔn)正態(tài)分布的隨機數(shù) data = normrnd(0,1,1000,1);% 新建一個圖形窗口,設(shè)置為不可見狀態(tài)新建一

40、個圖形窗口,設(shè)置為不可見狀態(tài) zft = figure(units,normalized,position,. 0.280469 0.553385 0.428906 0.251302,visible,off);% 設(shè)置坐標(biāo)系的位置和大小設(shè)置坐標(biāo)系的位置和大小 set(gca,position,0.1 0.2 0.85 0.75); hist(data); % 繪制頻數(shù)直方圖繪制頻數(shù)直方圖 grid on; % 添加參考網(wǎng)格添加參考網(wǎng)格 xlabel(考試成績考試成績); ylabel(人數(shù)人數(shù)); % 為為X,Y軸加標(biāo)簽軸加標(biāo)簽 hgexport(zft, -clipboard); %將圖形復(fù)

41、制到剪貼板將圖形復(fù)制到剪貼板% 在當(dāng)前光標(biāo)位置處插入剪貼板上的圖片,版式為嵌入式在當(dāng)前光標(biāo)位置處插入剪貼板上的圖片,版式為嵌入式 Selection.Paste; Selection.TypeParagraph; % 回車,另起一段回車,另起一段% 在當(dāng)前光標(biāo)位置處插入剪貼板上的圖片,版式為浮于文字上方在當(dāng)前光標(biāo)位置處插入剪貼板上的圖片,版式為浮于文字上方 Selection.PasteSpecial;論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 5. InlineShape對象與對象與Shape對象的相互轉(zhuǎn)換對象的相互轉(zhuǎn)換 handle = Document.

42、InlineShapes.Item(i).ConvertToShape; InlineShape對象對象轉(zhuǎn)轉(zhuǎn)Shape對象對象 handle = Document. Shapes.Item(i).ConvertToInlineShape; Shape對象對象轉(zhuǎn)轉(zhuǎn)InlineShape對象對象論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 6. 設(shè)置圖片的版式(或文字環(huán)繞方式設(shè)置圖片的版式(或文字環(huán)繞方式) Document.Shapes.Item(i).WrapFormat.Type = TypeString; Document.Shapes.Item(i).Wr

43、apFormat.Type = TypeNum; 對于作為對于作為Shape對象的圖片,可以設(shè)置其版式,即文字環(huán)對象的圖片,可以設(shè)置其版式,即文字環(huán)繞方向,而對于作為繞方向,而對于作為InlineShape對象的圖片,卻不能直接利對象的圖片,卻不能直接利用用MATLAB進行版式設(shè)置。進行版式設(shè)置。 首先獲取某個首先獲取某個Shape對象的句柄,它的對象的句柄,它的WrapFormat接口接口下有一個枚舉類型的屬性下有一個枚舉類型的屬性Type,其可能的取值及說明如表,其可能的取值及說明如表4所所示??砂慈缦路绞叫薷氖?。可按如下方式修改Type的屬性值:的屬性值:論壇報告會論壇報告會 謝中華謝中

44、華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 7. 設(shè)置圖片設(shè)置圖片疊放次序疊放次序 Document.Shapes.Item(i).ZOrder( MsoZOrderCmd ); 對于對于Shape對象的圖片,還可以設(shè)置圖片的疊放次序。這對象的圖片,還可以設(shè)置圖片的疊放次序。這要用到要用到Shape對象的對象的ZOrder方法,該方法的調(diào)用方式為:方法,該方法的調(diào)用方式為:論壇報告會論壇報告會 謝中華謝中華, 天津科技大學(xué)數(shù)學(xué)系天津科技大學(xué)數(shù)學(xué)系. 五、插入頁眉、頁碼五、插入頁眉、頁碼 Document.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader; Selection.Range.Paragraphs.Alignment = wdAlignParagraphLeft; Selection.InlineShapes.AddPicture(which(kedalogo.TIF); Selection.MoveRight; Selection.Range.Text = 多元統(tǒng)計分析教案多元統(tǒng)計分析教案

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論