доступ к определенной ячейке из надстройки Excel vsto

#vsto

#vsto

Вопрос:

Как я могу получить доступ к конкретной ячейке B1 из моей надстройки Excel vsto в Microsoft Visual Studio 2010.

Globals.Sheet1.Range(“B3”).Value это не работает, поскольку кажется, что это синтаксис для документа Excel вместо надстройки Excel.


редактировать, похоже, это работает

     Microsoft.Office.Interop.Excel.Worksheet activeSheet = Globals.ThisAddIn.Application.ActiveSheet as Microsoft.Office.Interop.Excel.Worksheet;
    var currentCells = activeSheet.get_Range("A1", "E1");
    currentCells.Select();
  

но тогда как мне выбрать конкретные значения в currentCells ?

Ответ №1:

Попробуйте что-нибудь в этом роде:

 var excel = Globals.ThisAddIn.Application;
var activeSheet = (Worksheet)excel.ActiveSheet;
var cell = activeSheet.Range["B1", Type.Missing];
var content = cell.Value2;
  

Комментарии:

1. начиная с .Net 4.0, вам даже не нужен тип.Отсутствует, не так ли, Матиас? (придирчивый, я знаю, лол)

Ответ №2:

Вы могли бы сделать диапазон.Найдите (…), а затем FindNext, добавив найденные ячейки в список

В качестве альтернативы, вы могли бы выполнить итерацию по всему диапазону.Элемент [i, j] для i = 1 в Range.Rows.Количество (== 1 в вашем случае) и j = 1 для диапазона.Столбцы.Посчитайте, как это, и по ходу дела проверяйте значения отдельных ячеек.

Используйте приложение.Объединение для объединения нескольких диапазонов из полученного списка и выполнения функции Select() в объединенном диапазоне