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

14 Ansichten (letzte 30 Tage)
MathWorks Support Team
MathWorks Support Team am 13 Jul. 2012
MATLAB ファイルから直接ワークブックに MATLAB のフィギュアを貼り付ける方法を教えてください。

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 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 オブジェクトを表す変数です。

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB の COM オブジェクト finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!