Описание
extract_vba.py — это скрипт для извлечения VBA макросов из документов форматов .xls и .xlsm. Скрипт проходит по всем файлам из списка и извлекает макросы.
Извлечённые макросы сохраняются в папке results, расположенной в каталоге со скриптом. Для каждого обработанного документа создается отдельная папка с именем файла, из которого был извлечён макрос. Если папка с таким именем уже существует, к ней автоматически добавляется суффикс _+1.
В случае ошибки в процессе выполнения, скрипт сохраняет индекс документа в специальный файл progress.pkl. При следующем запуске скрипт автоматически продолжит обработку с этого места. Файл с индексом автоматически удаляется при успешном завершении работы скрипта.
Установка и настройка
Скрипт поддерживает работу как на Windows, так и на Linux. Рекомендуется использовать Python версии от 3.6 до 3.9.
Создание и активация виртуального окружения
Для изоляции зависимостей рекомендуется использовать виртуальное окружение. Для создания и активации виртуального окружения необходимо перейти в папку со скриптом и выполнить следующие команды:
На Windows:
Создание виртуального окружения:
python3 -m venv env
Активация виртуального окружения:
.\env\Scripts\activate
На Linux:
Создание виртуального окружения:
python3 -m venv env
Активация виртуального окружения:
source env/bin/activate
Установка зависимостей
После активации виртуального окружения требуется установить зависимости:
pip install --upgrade pip
pip install -r requirements.txt
Использование
Для получения справки по параметрам запуска:
python extract_vba.py -h
Скрипт принимает один обязательный аргумент:
--file FILE, -f FILE — Путь к текстовому файлу со списком документов.
Примеры использования
Извлечение макросов из списка документов:
python extract_vba.py -f docs.txt
Пример документа в docs.txt на Windows:
D:\docs\docs\1.xlsm
Пример документа в docs.txt на Linux:
/home/user/1.xlsm
Запуск скрипта через исполняемый файл extract_vba.exe
1. Откройте Command Prompt (cmd) или PowerShell.
2. Перейдите в каталог с файлом extract_vba.exe, используя команду:
cd <Путь к каталогу>
3. Выполните запуск скрипта с параметром:
.\extract_vba.exe -f <Путь до файла docs.txt>
Требования
- Python 3.6 - 3.9
- Необходимые библиотеки указаны в requirements.txt.
Release Notes
Версия |
Описание |
1.0.1 |
Доработана обработка ошибок: теперь ошибки выводятся в консоль и записываются в отдельный файл – error.log |
Вложение
- extract_vba_1.0.1.py - Скрипт
- docs.txt - Пример файла со списком документов
- requirements.txt - Необходимые библиотеки
- extract_vba_1.0.1.exe - Исполняемый файл скрипта