Excel の ActiveX 機能を使用することで、実現できます。以下はプログラム例(関数 MATLAB-ファイル)です。
function xlscolor(file, data, range)
file = fullfile(pwd, file);
h = actxserver('excel.application');
wb=h.WorkBooks.Add();
ran = h.Activesheet.get('Range',range);
ran.value = data;
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>