MATLAB の Figure は、ActiveX を使って Excel に貼り付けることができます。ここでは、例題を使って 2 通りの方法で説明します。
img = 'figure1.png';
plot(1:10);
print('-dpng', img);
Excel = actxserver('Excel.Application');
set(Excel,'Visible',1);
Workbooks = Excel.Workbooks;
Workbook = invoke(Workbooks, 'Add');
Sheets = Excel.ActiveWorkBook.Sheets;
Sheet1 = get(Sheets, 'Item', 1);
Sheet1.Activate;
Shapes = Sheet1.Shapes;
Shapes.AddPicture([pwd '\' img] ,0,1,400,18,300,235);
Sheet1.invoke('Pictures').Insert([pwd '\' img]);
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 オブジェクトを表す変数です。