Обнаружение пустых рабочих листов

Проверка заполненных ячеек

На листах могут быть одна или несколько ячеек, заполненных значениями: простыми (текст, числовыми, датой/временем) или формулой или значением, основанным на формуле. В таком случае легко определить, пуст ли данный лист или нет. Все, что нам нужно проверить, это свойства Cells.max_data_row или Cells.max_data_column. Если вышеупомянутые свойства возвращают ноль или положительные значения, это означает, что одна или несколько ячеек заполнены, однако если какое-либо из этих свойств возвращает -1, это указывает на то, что ни одна из ячеек не заполнена на указанном листе.

Проверка пустых инициализированных ячеек

Все ячейки, содержащие значения, автоматически инициализируются, однако возможно, что в листе есть ячейки только с форматированием. В таком случае свойства Cells.max_data_row или Cells.max_data_column вернут -1, что указывает на отсутствие заполненных значений, но инициализированные ячейки из-за форматирования выявить с помощью этого метода невозможно. Чтобы проверить, есть ли в листе пустые инициализированные ячейки, рекомендуется использовать метод IEnumerator.MoveNext для перечислителя, полученного из коллекции Cells. Если метод возвращает true, значит в листе есть одна или более инициализированных ячеек.

Проверка фигур

Возможно, что заданный лист не содержит заполненных ячеек, однако он может содержать фигуры и объекты, такие как контроли, графики, изображения и так далее. Если необходимо проверить, содержит ли лист фигуры, можно сделать это, проверяя элементы ShapeCollection. Любое положительное значение указывает на наличие фигуры(-уров) в листе.

Пример программирования