Excelファイルを作成するプロジェクトに取り組んでいます。
Excelファイルを整理するために複数のセルに境界線を配置するのに問題があります。
セルB5からB10までの境界線が必要だとします。 B5、B6、B7、...の間に境界があってはなりません...
現在、私はこのコードを持っています:
workSheet_range = worksheet.get_Range("B5", "B10");
workSheet_range.Borders.Color = System.Drawing.Color.Black.ToArgb();
境界線を作成しますが、すべてのセルに対して1つの大きな境界線ではなく、すべてのセルの周囲に境界線を配置します。
どうすればこれを達成できますか?
これらを個別に設定する必要があります
.Borders[Excel.XlBordersIndex.xlEdgeBottom]
.Borders[Excel.XlBordersIndex.xlEdgeRight]
.Borders[Excel.XlBordersIndex.xlEdgeLeft]
.Borders[Excel.XlBordersIndex.xlEdgeTop]
多分これは助けることができます:
workSheet_range.BorderAround(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlThick);
これは、各セルの周囲に境界線を設定するコードです。
xlWS.get_Range("C9", "N9").Cells.Borders.Weight = XL.XlBorderWeight.xlMedium;
これが私の解決策です、単にUsedRange()関数を使用してください
Excel.Range tRange = oSheet.UsedRange;
tRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
tRange.Borders.Weight = Excel.XlBorderWeight.xlThin;
// ** - You Should do it in all Cells
//BorderAround: Medium**
worksheet.get_Range("b5", "b5").Cells.BorderAround(Missing.Value, Excel.XlBorderWeight.xlMedium, Excel.XlColorIndex.xlColorIndexAutomatic, ColorTranslator.ToOle(Color.FromArgb(255, 192, 0)));
worksheet.get_Range("b6", "b6").Cells.BorderAround(Missing.Value, Excel.XlBorderWeight.xlMedium, Excel.XlColorIndex.xlColorIndexAutomatic, ColorTranslator.ToOle(Color.FromArgb(255, 192, 0)));
worksheet.get_Range("b10", "b10").Cells.BorderAround(Missing.Value, Excel.XlBorderWeight.xlMedium, Excel.XlColorIndex.xlColorIndexAutomatic, ColorTranslator.ToOle(Color.FromArgb(255, 192, 0)));
このコードは、(row1、col1)から(row2、col2)までの領域の周囲に境界線を配置します。個々のセルには境界線がありません。変数colorは整数のカラーインデックス番号です。インデックス番号と対応する色のリストについては、 http://www.databison.com/Excel-color-palette-and-color-index-change-using-vba/ を参照してください。
Range cell1 = worksheet.Cells[row1,col1];
Range cell2 = worksheet.Cells[row2,col2];
Range range = worksheet.get_Range(cell1,cell2);
range.BorderAround(
Type.Missing, XlBorderWeight.xlThick, (XlColorIndex)color, Type.Missing );
ws.UsedRange.BorderAround(
Xl.XlLineStyle.xlDash,
Xl.XlBorderWeight.xlThick,
Xl.XlColorIndex.xlColorIndexAutomatic,
ColorTranslator.ToOle(Color.Blue));