Wenn ich Range.Copy() für eine Spalte aufrufen und dann Range.Insert() vor einer anderen Spalte aufrufen, funktioniert es einwandfrei; Die ursprüngliche Spalte wird an die Stelle kopiert, an der ich sie haben möchte. Wenn ich jedoch Range.Insert() erneut aufrufe, ohne Range.Copy() erneut aufzurufen, fügt es eine neue Spalte an der gewünschten Stelle ein, aber ohne Ränder.C# Excel Interop - Borders verloren auf mehreren Range.Insert() s
Ich finde, wenn ich Range.Copy() jedes Mal aufrufen, ist die Ausgabe genau das, was ich will, aber es dauert etwa 5 mal so lang. Muss ich das wirklich tun?
Hier ist mein Code als Referenz:
Range sheetCols = sheet.Columns;
...
int col = routesStartCol;
foreach (RouteObject route in loc.Routes)
{
Range thisCol = sheetCols[col]; com.Got(thisCol);
if (col == routesStartCol)
thisCol.Copy();
else
thisCol.Insert(XlInsertShiftDirection.xlShiftToRight);
sheetCells[routeNameRow, col] = route.Name;
col++;
}