Найти тему
Tech&Biz Insights

Инспектор файлов Excel на наличие скрытых листов

Оглавление

Инспектор файлов Excel на наличие скрытых листов - что это такое?

Периодически по работе приходится собирать и выгружать для разных внешних контрагентов большие перечни информации, в том числе Excel файлов. Примеры:

  • подготовка материалов оценщику для проведения независимой оценки
  • подготовка материалов по активам в случае проработки M&A проектов

Одна из примитивных задач - инспекция выгружаемых файлов Excel на предмет скрытых листов с избыточными данными. Задача проста, но может занять время:

  • Если файлов много, то надо руками открыть и просмотреть каждый файл. Не всегда коллеги помнят про то, что не надо оставлять в файлах избыточную информацию.
  • Если в 1 файле Excel много скрытых листов, то нет простого способа сделать несколько листов видимыми сразу. Приходится по очереди раскрывать каждый лист.

Поэтому некоторые время назад сделал мини-тулзу на VBA, которая позволяет инспектировать файлы Excel в полуавтоматческом режиме.

Так как точно знаю, что даже в компании, где работаю сейчас, это частый кейс, то решил выложить ее в публичный доступ. Возможно, она пригодится еще кому-нибудь.

Инструкция

1. Скачать и сохранить у себя файл Excel по ссылке.

2. Открыть сохраненный файл. При необходимости разрешить запуск макросов и, если окно сканера не запустится автоматически, запустить окно вручную.

3. Указать корневую папку для сканирования. По умолчанию подставляется та папка, в которой находится файл с инспектором.

4. Запустить сканирование. После того, как будут проверены все файлы Excel в корневой директории и поддиректориях, будет выведен список файлов со скрытыми листами, а также список файлов, которые не удалось открыть/просмотреть.

5. Дальше можно выбрать файл в списке, открыть его, отобразить все скрытые листы в книгах.

6. После окончания проверки и правки файлов, можно закрыть (уже без сохранения изменений) все книги Excel.

FAQ

Q: Там вирус?

A: Нет.

Q: Должны же быть вирусы?

A: Исходный макросов VBA не запаролен и открыт для изучения.

Q: Почему именно VBA, а не нормальный Python, который ты тоже знаешь?

A: В Python нет библиотеки, которая бы поддерживала работу как со старым (xls), так и с новым форматом (xlsm). Плюс, в VBA проще сделать базовый UI и организовать распространение программы.

Q: Почему нет функции …?

A: Правило 80⁄20 или пока не сталкивался. Если есть предложения, то добро пожаловать в комментарии.

Q: Это же какая-то очень простая штука? Каждый может сделать!

A: Да, для тех, кто знает VBA, это действительно просто. Предназначение программы - помочь неспециалистам в VBA решить конкретную прикладную задачу.

Прочее

Еще раз ссылка на скачивание.

Пока что это достаточно узкоспециализированная программа, нацеленная только на скрытые листы. В дальнейшем, может быть, будут добавлены проверки на другие кейсы. Например, поиск вставленных (embedded) файлов.

Если инструмент окажется вам полезным, то будут благодарен за фидбэк в комментариях. Если у вас есть свои наработки или вы знаете полезные инструменты, которыми готовы поделиться, будет также интересно узнать.


Понравилась статья? Подписывайтесь или заходите в мой блог pyatakov.com. Там еще много интересного!