Когда я вызываю Range.Copy () для столбца, а затем вызываю Range.Insert () перед другим столбцом, он работает отлично;исходный столбец дублируется туда, где я хочу.Однако, если я сделаю еще один вызов Range.Insert () без повторного вызова Range.Copy (), он вставит новый столбец в нужное мне место, но без каких-либо границ.
Я обнаружу, что если я это сделаюкаждый раз вызывайте Range.Copy (), вывод - именно то, что я хочу, но это занимает в 5 раз больше времени.Мне действительно нужно это сделать?
Вот мой код для справки:
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++;
}