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

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

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

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

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

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

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

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