MATLAB から Excel Spreadsheet にセル背景色やフォント色を指定してデータを書くにはどうしたらよいですか?
    조회 수: 28 (최근 30일)
  
       이전 댓글 표시
    
MATLAB から Excel Spreadsheet のセルにデータを書く際に、セルの背景色やフォントの色を指定する方法を教えてください。
채택된 답변
  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
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 MATLAB の COM オブジェクト에 대해 자세히 알아보기
			
	제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!