Я еще не пробовал это сам, но я полагаю, что синтаксис изменился при использовании встроенных типов COM Interop в C # 4.0 на более «дружественный» C # синтаксис.
Поэтому вместо поискаВ методе get_Range(object, [object])
вы можете либо опустить необязательный параметр (вместо необходимости указывать Type.Missing
), либо полностью отказаться от вызова метода доступа get и вместо этого ссылаться на имя свойства в квадратных скобках:
// Using C# 3.0:
Excel.Range range = worksheet.get_Range("A1", Type.Missing);
// Using C# 4.0, omitting the optional parameter:
Excel.Range range = worksheet.get_Range("A1");
// Using C# 4.0, utilizing square-bracket indexing:
Excel.Range range = worksheet.Range["A1"];
Из того, что я понимаю, вы все равно должны называть это «старым способом», где новый синтаксис индексатора действительно вызывает за кулисами требуемый метод доступа «get» и «set», так что я не будуЯ действительно знаю, почему у вас проблемы.Я предполагаю, что вам нужно искать под Worksheet.Range
вместо Worksheet.get_Range
в списке IntelliSense.Если это не работает для вас, значит, что-то может быть не так с вашей установкой или установкой.
Подробнее об этом см .: Индексированные свойства в C # 4.0 от Кирилла Осенкова.
Надеюсь, это поможет ...
Майк