MATLAB製作PPT(0):基本概念

目錄

1. 什麼是AcitiveX?

2. ActiveX控制命令

3. PPT application


 


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. 參考

  1. 金瑋, 範徵宇, 姜新華. Matlab的ActiveX接口[J]. 微型電腦應用, 015(12):54-56.
  2. https://stackoverflow.com/questions/57046795/powerpoint-matlab-pastespecial-altes
  3.  

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章