2011年7月12日火曜日

VB.NETでExcelのセルに色をつける

VB.NETでExcelを操作していて指定のセルに背景色をつける場合は、RangeオブジェクトのInteriorプロパティを使用します。
Interiorはセルの背景色など色に関する情報を管理しています。

色の指定には「ColorIndex」と「Color」があります。

ColorIndexはあらかじめ割り当てられた番号で指定します。(全部で57種類:0~56で指定)
Dim xlRange = xlSheet.Range("A1")
Dim xlInterior = xlRange.Interior

xlInterior.ColorIndex = 6 '黄色

System.Runtime.InteropServices.Marshal.ReleaseComObject(xlInterior)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange)

Colorは16進数による色の値を指定します。
Dim xlRange = xlSheet.Range("A1")
Dim xlInterior = xlRange.Interior
Dim wRGB = System.Drawing.Color.FromArgb(0, 0, 255)

xlInterior.Color = System.Drawing.ColorTranslator.ToWin32(wRGB)

System.Runtime.InteropServices.Marshal.ReleaseComObject(xlInterior)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange)

0 件のコメント:

コメントを投稿