MATLAB Answers

MATLAB から Excel Spreadsheet にセル背景色やフォン​ト色を指定してデータ​を書くにはどうしたら​よいですか?

64 ビュー (過去 30 日間)
MATLAB から Excel Spreadsheet のセルにデータを書く際に、セルの背景色やフォントの色を指定する方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2017 年 10 月 4 日
Excel の ActiveX 機能を使用することで、実現できます。以下はプログラム例(関数 MATLAB-ファイル)です。
function xlscolor(file, data, range)
% XLSCOLOR は XLSWRITE のようにデータを書き込みます。
% 異なる点は、色を変えられる点です。
% XLSCOLOR(FILE,DATA,RANGE) は DATA の変数を
% FILE の RANGE で指定された に書き込みます。
% ファイルのパスを取得
file = fullfile(pwd, file);
% Excel に対して ActiveX を開く
h = actxserver('excel.application');
% 新しいワークブック (エクセルファイル) を開く
wb=h.WorkBooks.Add();
% 設定を変更する範囲を指定
ran = h.Activesheet.get('Range',range);
% データを指定した範囲に書き込む
ran.value = data;
%---------- 背景の色
% 色は16進数の BGR の組み合わせで指定
% 赤: 0000FF
% 青: FF00FF
% 緑: 00FF00
% 黒: 000000
% 白: FFFFFF
ran.interior.Color=hex2dec('00FF00'); % 緑
ran.font.Color=hex2dec('FF0000'); % 青
% 指定したファイル名で保存し、エクセルを閉じる
wb.SaveAs(file);
wb.Close;
h.Quit;
h.delete;
end
これを実行するには、上記のプログラムを保存し、下記コマンドを実行します。
>> xlscolor('Tone.xls',rand(5,5),'A1:E5')
Excel に関するプログラミング (例えば 'Add' のようなコマンド) に関しては、Excel のヘルプにある "Microsoft Excel Visual Basic Reference" でお調べください。
その他の情報に関しましては、以下のページをご覧ください。
1. ACTXSERVER:
<http://www.mathworks.com/access/helpdesk/help/techdoc/ref/actxserver.html>
2. オートメーションクライアントとしての MATLAB や サーバとしての Microsoft® Excel® spreadsheet プログラム:
<http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/brd05nl.html#f62659>
3. 16進数表記法での色表現に関する情報 (注意: マイクロソフトでは、 RBG 表記ではなく、以下のページにある BGR 表記を採用しています。)
<http://www.w3schools.com/html/html_colors.asp>

  0 件のコメント

サインイン to comment.

その他の回答 (0 件)

サインイン してこの質問に回答します。