Figure を ActiveX を使って Excel Workbook に挿入するにはどうすればよいですか?
26 views (last 30 days)
Show older comments
MATLAB ファイルから直接ワークブックに MATLAB のフィギュアを貼り付ける方法を教えてください。
Accepted Answer
MathWorks Support Team
on 13 Jul 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 オブジェクトを表す変数です。
0 Comments
More Answers (0)
See Also
Categories
Find more on MATLAB の COM オブジェクト in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!