Если вы видите подобную ошибку:
Это говорит о том что вы используете устаревший синтаксис при работе с библиотекой Microsoft.Office.Interop.Excel
Раньше можно было напрямую обращается к ячейке при ее выделении таким способом:
1 |
Excel.Range range = sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[9, 9]); |
Но в результате изменения метода get_Range он теперь принимает 2 объекта а не их значения. Таким образом нам необходимо их создать, для этого мы можем сделать следующее:
1 2 3 4 5 |
Excel.Range r1 = sheet.Cells[1, 1]; Excel.Range r2 = sheet.Cells[9, 9]; //Захватываем диапазон ячеек Excel.Range range1 = sheet.get_Range(r1,r2 ); |
Теперь мы передаем в метод get_Range объекты Range и ошибки уже не увидим.
Однако есть еще один вариант обойти подобную ошибку, ввести напрямую имена ячеек, следующим образом:
1 |
Excel.Range range1 = sheet.get_Range("A1","H9" ); |
Здесь мы просто не явно создаем объект типа String указывая имена ячеек.
Теперь вы то же знаете как избежать эту ошибку, удачи!