Похоже, что исключение выдается из oSheet.Cells[1, 1]
и oSheet.Cells[4, 4]
, используемых в качестве аргументов для get_range
.
При применении следующего исключения не будет выброшено:
Excel.Range c1 = oSheet.Cells[1, 1];
Excel.Range c2 = oSheet.Cells[4, 4];
oRange = (Excel.Range)oSheet.get_Range(c1, c2);
oRange.EntireColumn.AutoFit();
Таким образом, это может быть связано с функциональностью oSheet.get_Range
.Он получает объект в качестве аргумента, поэтому он может попытаться вызвать метод get_Range
для аргументов, чтобы получить внутреннюю ячейку, а преобразование Range
в объект, выполненный компилятором, может скрыть вызов метода.
Если вам нужно определение ячеек по строке / столбцу - попробуйте использовать описанный выше подход.