2016-04-07 19 views
3

私はMicrosoft.Office.Interop.Excelライブラリを使用しています。MS Excelのセル内のテキストの色を変更するにはどうすればよいですか?

私は値が "グリーンレッド"のセルを持っています。私が欲しいのはかなり簡単です。私はそのような、赤であることが、緑と「赤」と「緑」のテキストを挿入する:

enter image description here

私はセルにデータを挿入するには、このコードを使用しています:

どう
Excel.Application excelApp = new Excel.Application(); 
excelApp.Workbooks.Add(); 
// single worksheet 
Excel._Worksheet workSheet = excelApp.ActiveSheet; 

for (int startIndex = 0; startIndex < 10; startIndex++) 
{ 
    workSheet.Cells[1, (startIndex + 1)] ="Green" + " Red"; 
} 

をそれをするために?

私はtried this approachをしましたが、私は[RangeObject]が何であるかを知らない:

[RangeObject].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);

+0

http://stackoverflow.com/questions/5667842/multiple-formats-in-one-cell-using-c-sharpはあなたを助けるん - のどっちC#からのExcelの統合はあなたが使用していますか? – weismat

+0

@weismat ooops、私はあなたの質問を理解できません。私は 'Microsoft.Office.Interop.Excel'ライブラリを使用しています。 – StepUp

+0

見る: [http://stackoverflow.com/questions/2452417/cell-color-changing-in-excel-using-c-sharp](http://stackoverflow.com/questions/2452417/cell-color) -changing-in-excel-c-sharpを使用) –

答えて

9

試してください。start_poslenはどこ色を適用する文字列の一部である

workSheet.Cells[1, (i + 1)].Characters[start_pos, len].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); 

ご使用例:

Application excelApp = new Application(); 
    excelApp.Workbooks.Add(); 
    // single worksheet 
    _Worksheet workSheet = excelApp.ActiveSheet; 

    string Green = "Green"; 
    string Red = "Red"; 
    for (int start = 0; start < 10; start++) 
    { 
     Range ColorMeMine = workSheet.Cells[1, (start + 1)]; 
     ColorMeMine.Value = string.Format("{0} {1}", Green, Red); 
     ColorMeMine.Characters[0, Green.Length].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Green); 
     ColorMeMine.Characters[Green.Length + 1, Green.Length + 1 + Red.Length].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); 
    } 
+0

「レンジ」とは何ですか? 'Range'クラスを得るためにライブラリを使うべきですか? – StepUp

+1

範囲 "セル、行、列、1つまたは複数の連続したセルブロック、または3次元範囲を含むセルの選択"を表します。 Microsoft.Office.Interop.Excel名前空間にあります。 –

関連する問題