Если вы хотите сделать то же самое, как код VBA в C# вы можете просто написать :
var ws = xlWorkBook.Worksheets["Sheet1"];
ws.Range["210:560"].Delete();
ws.Range["11:12"].Insert();
Вы даже можете указать несколько строк сразу:
ws.Range["210:560,722:838,917:917"].Delete();
ws.Range["11:12,15:17,19:19"].Insert();
Для отдельных строк необходимо указать номер строки дважды, как показано выше.
Предел размера строки строк составляет 255 символов. Если вы хотите обрабатывать больше строк, чем это за один раз, вам нужно объединить диапазоны. Так, например, что-то вроде этого:
application.Union(ws.Range["2:5,7:8,9:9"], ws.Range["11:12,15:17,19:19"]).Delete();
(.. Просто ради краткости я не показал какие-либо большие строки в этом примере application
является экземпляром текущего Excel.Application
)
Единственным чтобы знать: вы должны использовать разделитель списков, указанный в региональных настройках Windows на панели управления. Это особенно важно, если вы доставляете свое приложение глобально или неизвестным пользователям (например, ISV). Например. для немецких пользователей разделителем списка по умолчанию будет ;
, а не ,
, как для английских пользователей. Но, конечно, пользователь может настраивать почти все, что угодно вручную.
Вы можете получить текущий список разделитель из региональных настроек Windows, с помощью этого:
var sep = (string)application.International[XlApplicationInternational.xlListSeparator];