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

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

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

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

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

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

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

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

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

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

Инструкция

  1. Скачать и сохранить у себя файл Excel по ссылке.
  2. Открыть сохраненный файл. При необходимости разрешить запуск макросов и, если окно сканера не запустится автоматически, запустить окно вручную. Шаги 2, 3 инструкции
  3. Указать корневую папку для сканирования. По умолчанию подставляется та папка, в которой находится файл с инспектором.
  4. Запустить сканирование. После того, как будут проверены все файлы Excel в корневой директории и поддиректориях, будет выведен список файлов со скрытыми листами, а также список файлов, которые не удалось открыть/просмотреть. Шаги 4, 5 инструкции
  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) файлов.

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

comments powered by Disqus
blog@pyatakov.com