目錄
1. 什麼是AcitiveX?
參考:金瑋, 範徵宇, 姜新華. Matlab的ActiveX接口[J]. 微型電腦應用, 015(12):54-56.
Matlab提供了一系列的同外部程序的接口方法。其中最方便的就是利用 ActiveX同Matlab進行交互;
ActiveX是Windows中對象集成的一個標準協議,它最初是從Microsoft的複合文檔 技術OLE成長起來的。OLE最初發布的版本,只是瞄準複合文檔,但在後續版檢OLE2 中,導入了COM(Component Object Model,組件對象模型)。其基本的出發點是想讓某 個軟件通過一個通用的機構爲另一個軟件提供服務;
由於COM作爲與複合文檔完全無 關的技術,被廣泛的使用。1996年春,Microsoft選擇了ActiveX作爲新商標名。ActiveX 是指寬鬆定義的、基於COM的技術集合,而OLE仍然僅指複合文檔。使用ActiveX用戶 可以很容易的將不同廠商開發的用途各異的ActiveX對象集成到一個複雜的解決方案中來。
2. ActiveX控制命令
參考:金瑋, 範徵宇, 姜新華. Matlab的ActiveX接口[J]. 微型電腦應用, 015(12):54-56.
3. PPT application
1. 創建ActiveX server for PPT
g = actxserver('powerpoint.application');
2. 獲取PPT handle(多種方法)
方法一:獲取當前打開的PPT
Presentation = get(g,'ActivePresentation'); % Get the active PowerPoint Presentation
方法二:打開已知文件
Presentation = g.Presentation;
Presentation = invoke(Presentation, 'open', filename);
3. 幻燈片信息
順序:Slides(所有幻燈片信息)->Slide(某張幻燈片)->Shaps(某張幻燈片的形狀)->Shape(某張幻燈片的某個形狀)
slides = Presentation.Slides; % Get a list of Slide objects from PowerPoint.
num_slides = slides.Count; % number of slides
slide = slides.Item(1); % Get a particular Slide; i is valid between 1 and num_slides
shapes = slide.Shapes; % Get all the Shape on a Slide.
num_shapes = shapes.Count; % Get a specific shape from the Slide.
shape = shapes.Item(1); % j is valid between 1 and num_shapes
4. Shape相關
以下圖片例,其他類型的shapes相似(matlab工作區雙擊shape, shape是某個shape object)。msoFalse和含義False相同。從屬性可得到:
(幻燈片一般爲720*540,屬性裏面的大小和位置單位都是像素)
- Shape類型(Chart,TextFrame等)
- 大小(Height,Width)
- 位置(Left和Top定義)
- 其他:線條、填充等
3. 參考
- 金瑋, 範徵宇, 姜新華. Matlab的ActiveX接口[J]. 微型電腦應用, 015(12):54-56.
- https://stackoverflow.com/questions/57046795/powerpoint-matlab-pastespecial-altes
版權聲明:本文爲博主原創文章,未經博主允許不得轉載。