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

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

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

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

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

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

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

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