2012-12-11 6 views
7

Zuerst änderte ich die Farbränder meines Blattes zu weiß, weil ich ein weißes Blatt haben möchte. Dann habe ich einige Header erstellt und möchte einen Rahmen um ihn herum machen. Das Problem ist, dass Grenzen zwischen den Werten im Header gemacht werden, aber oben, unten sind nicht sichtbar.Ändern Sie den Rahmen in Excel links, rechts, unten und oben

Mein Code:

xlWorkSheet5.Columns.Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.White); // Color Sheet5 to white, BusLoad 
xlWorkSheet5.Columns.NumberFormat = "@"; 
Excel.Range rng = (Excel.Range)xlWorkSheet5.get_Range("A7","J7"); 
rng.RowHeight = 25.5; 
rng.BorderAround2(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlHairline, Excel.XlColorIndex.xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic); 
rng.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; 
rng.Borders.Weight = 1d; 
rng.Font.Bold = true; 
rng.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; 
rng.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.LightGray); 
+0

Verwendung 'BorderAround' anstelle von' BorderAround2'? –

+0

@K_B: Ich habe es versucht, aber das Ergebnis ist das gleiche –

+0

Mit Ihrer allerersten Codezeile ändern Sie nicht die Farbe der Zellen zu weiß, aber das der Grenzen ... –

Antwort

10

OK ich eine Lösung gefunden, es zu tun, hier mein Code:

xlWorkSheet5.Cells[7,1].Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight = 1d; 
xlWorkSheet5.Cells[7, 1].Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = 1d; 
xlWorkSheet5.Cells[7,1].Borders[Excel.XlBordersIndex.xlEdgeTop].Weight = 1d; 
xlWorkSheet5.Cells[7,1].Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = 1d; 
+2

Dies kann auch mit eine einzelne Zeile des Codes 'xlWorkSheet5.Cells [7,1] .Borders.Weight = 1d;' – Wayne

4

Wenn Sie die Grenzen [index] Eigenschaft verwenden Sie dann etwas entlang der Linien von verwenden möchten:

rng.Borders[XlBordersIndex.xlEdgeLeft].LineStyle = XlLineStyle.xlContinuous; 
rng.Borders[XlBordersIndex.xlEdgeLeft].ColorIndex = <COLOR THAT YOU WANT> 

rng.Borders[XlBordersIndex.xlEdgeTop]... 
rng.Borders[XlBordersIndex.xlEdgeBottom]... 
rng.Borders[XlBordersIndex.xlEdgeRight]... 
1

Border.Weight Eigenschaft

XlBorderWeight kann eine dieser XlBorderWeight-Konstanten sein: xlHairline xlThin xlMedium xlThick.

Beispiel für auf Zellen von Bx Mx kontinuierliche Linie erstellen, wobei x Anzahl der Linie ist

using Excel = Microsoft.Office.Interop.Excel; 

Excel.Range line = (Excel.Range)excelWorksheet.Rows[1]; 
line.Insert(); 

excelWorksheet.Range[$"B{1}:M{1}"].Cells.Borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlContinuous; 
excelWorksheet.Range[$"B{1}:M{1}"].Cells.Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThin; 
Verwandte Themen