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

91 vues (au cours des 30 derniers jours)
MathWorks Support Team
MathWorks Support Team le 31 Août 2012
MATLAB から Excel Spreadsheet のセルにデータを書く際に、セルの背景色やフォントの色を指定する方法を教えてください。

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 4 Oct 2017
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>

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB の COM オブジェクト dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!