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

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

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

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

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

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

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

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