Figure を ActiveX を使って Excel Workbook に挿入するにはどうすればよいですか?

11 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 13 de Jul. de 2012
MATLAB ファイルから直接ワークブックに MATLAB のフィギュアを貼り付ける方法を教えてください。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 13 de Jul. de 2012
MATLAB の Figure は、ActiveX を使って Excel に貼り付けることができます。ここでは、例題を使って 2 通りの方法で説明します。
% figure からイメージを作成
img = 'figure1.png';
plot(1:10);
print('-dpng', img);
% Excel COM Server のハンドルを取得
Excel = actxserver('Excel.Application');
% 上記を visible に設定
set(Excel,'Visible',1);
% Workbook を追加
Workbooks = Excel.Workbooks;
Workbook = invoke(Workbooks, 'Add');
% Sheet のハンドルを取得し、Sheet を選択
Sheets = Excel.ActiveWorkBook.Sheets;
Sheet1 = get(Sheets, 'Item', 1);
Sheet1.Activate;
% 方法1 ここから
% Sheet 1 の Shapes のハンドルを取得
Shapes = Sheet1.Shapes;
% イメージを追加
Shapes.AddPicture([pwd '\' img] ,0,1,400,18,300,235);
% 方法1 ここまで
% 方法2 ここから
% イメージを追加
Sheet1.invoke('Pictures').Insert([pwd '\' img]);
% 方法2 ここまで
% workbook を保存し、Excelをクローズ
invoke(Workbook, 'SaveAs', [pwd '\myfile.xls']);
invoke(Excel, 'Quit');
上記のコード(方法1)では、Excel の Shapes.AddPicture メソッドを使って Excel シートに figure を挿入しています。 AddPicture シンタックスは、
expression.AddPicture(Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height)
となります。ここで、expression は Shapes オブジェクトを表す変数です。

Más respuestas (0)

Categorías

Más información sobre MATLAB の COM オブジェクト en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!