Skip to content

vbatools/Addin_MacroToolsVBA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Русский | English

MACROTools v2.0

Мощный Excel VBA Add-in для разработчиков
Автор: VBATools
Версия: 2.0.38
Лицензия: Apache License

Important

Пароль от VBA проекта $${\color{red}1}$$


📋 Описание

MACROTools — это профессиональный Excel VBA Add-in, предоставляющий обширный набор инструментов для разработки, анализа, рефакторинга и защиты VBA-проектов.

Аддин интегрируется в среду Visual Basic Editor (VBE) через Ribbon UI и контекстные меню, предлагая более 50+ инструментов для работы с VBA-кодом.


✨ Возможности

🔧 Работа с кодом VBA

  • Smart Indenter — автоматическое форматирование отступов
  • Форматирование Dim — объединение/разбиение объявлений
  • Удаление комментариев — очистка кода от комментариев
  • Удаление пустых строк — удаление двойных пустых строк
  • Удаление переносов строк — удаление _ (продолжение строки)
  • Swap = — обмен левой и правой части присваивания
  • Номера строк — добавление/удаление номеров строк в процедурах
  • Debug.Print ON/OFF — массовое включение/отключение отладочного вывода

📊 Статистика и анализ

  • Статистика модулей — количество процедур, строк, типов
  • Статистика UserForms — анализ контролов форм
  • Статистика деклараций — переменные, константы, типы
  • Статистика процедур — параметры, модификаторы, типы
  • Статистика шейпов — макросы, привязанные к фигурам
  • Поиск неиспользуемых переменных — мёртвый код
  • Поиск неиспользуемых модулей — неиспользуемые формы и классы

🔐 Защита и безопасность

  • Снятие пароля VBA — обход защиты VBA-проекта
  • Unviewable защита — установка/удаление защиты "Unviewable VBA Project"
  • Скрытие модулей — скрытие модулей из окна проекта VBE
  • Удаление паролей листов/книги — снятие защиты через XML
  • Обфускация VBA — переименование переменных, процедур, модулей.
    Инструкция обфускации

📦 Работа с файлами

  • Распаковка Office файлов — просмотр внутренней структуры (.xlsx, .xlsm, .xlsb)
  • Упаковка Office файлов — обратная сборка архива
  • Просмотр файлов архива — список всех файлов внутри
  • Свойства файлов — просмотр/изменение встроенных и пользовательских свойств документа

🎨 Интерфейс и темы

  • Тёмная тема VBE — переключение на тёмную тему
  • Светлая тема VBE — переключение на светлую тему
  • Настройки отступов — конфигурация форматирования
  • Настройки комментариев — шаблоны комментариев

🔍 Парсинг и переименование литералов

  • Парсинг строковых литералов — извлечение строк из кода, UserForm, Ribbon UI
  • Переименование литералов — массовая замена строковых значений
  • Монитор символов — анализ используемых символов

🛠 Утилиты

  • Конструктор MsgBox — визуальный генератор MsgBox
  • Конструктор форматирования — генератор строк форматирования
  • Конструктор процедур — генератор деклараций процедур
  • TODO-лист — управление задачами в коде
  • Сниппеты кода — библиотека готовых решений
  • Тестер регулярных выражений — отладка RegExp
  • Удаление внешних ссылок — поиск и удаление внешних связей
  • Переключение A1/R1C1 — стиль ссылок Excel
  • Менеджер надстроек — управление Excel Add-ins
  • Горячие клавиши — справка по хоткеям

📂 Структура проекта

Addin_MacroTools_2.0/
├── vba-files/                            # Исходный код VBA
│   ├── Class/                            # Класс-модули (7 файлов)
│   │   ├── clsAnchors.cls                # Якоря для UserForm
│   │   ├── clsLogging.cls                # Логирование в CSV
│   │   ├── clsObfuscator.cls             # Обфускация VBA-кода
│   │   ├── clsOfficeArchiveManager.cls   # Менеджер архивов Office
│   │   ├── clsSort2DArray.cls            # Сортировка двумерных массивов
│   │   ├── clsToolsVBACodeStatistics.cls # Статистика VBA-кода
│   │   └── clsVBECommandHandler.cls      # Обработчик команд VBE
│   ├── Form/                             # UserForm (диалоговые окна)
│   └── Module/                           # Стандартные модули (47 файлов)
│       ├── modAddin*.bas                 # Ядро аддина (константы, меню, Ribbon, темы)
│       ├── modFile*.bas                  # Работа с файлами (пароли, архивы, свойства)
│       ├── modLiterals*.bas              # Парсинг и замена строковых литералов
│       ├── modTools*.bas                 # Инструменты работы с кодом VBA
│       └── modUFControls*.bas            # Управление контролами UserForm
├── docs/                                 # Документация
│   ├── MODULES_REFERENCE.md              # Справочник модулей (RU)
│   └── MODULES_REFERENCE_ENG.md          # Справочник модулей (EN)
├── Addin_MacroTools_v2.0.38_ENG.xlsb     # Скомпилированный аддин
├── README.md                             # Документация (RU)
├── README_ENG.md                         # Documentation (EN)
└── LICENSE                               # Лицензия Apache 2.0

🚀 Установка

Ручная установка

  1. Скопируйте Addin_MacroTools_v2.0.38_ENG.xlsb
  2. Откройте Excel → Нажать кнопку Установить

Excel VBE

  • Доступ к объектной модели VBA: ФайлПараметрыЦентр доверияПараметры макросов → ✅ Доверять доступ к модели VBA

⌨️ Горячие клавиши

Комбинация Действие
Ctrl+Shift+H Hotkeys справка
Alt+F11 Открыть VBE

Полный список горячих клавиш доступен через меню Tools → Hotkeys
Репозиторий Hotkeys


📖 Документация

  • MODULES_REFERENCE.md — Полный справочник всех модулей с описанием процедур

🔍 Модули ядра

Модуль Описание
modAddinConst Константы аддина
modAddinCreateMenu Создание контекстных меню VBE
modAddinPubFun Публичные функции (общие)
modAddinPubFunVBE Публичные функции VBE
modAddinPubFunVBEModule Работа с модулями VBE
modAddinRibbonCallbacks Callback-функции Ribbon
modAddinThemeVBE Темы VBE
modAddinInstall Установка аддина

Классы

Класс Описание
clsObfuscator Обфускатор VBA-проекта
clsOfficeArchiveManager Менеджер архивов Office
clsToolsVBACodeStatistics Статистика VBA-кода
clsLogging Логгер CSV
clsAnchors Якоря для UserForm
clsSort2DArray Сортировка 2D массивов

⚠️ Важные замечания

Безопасность

  • Некоторые функции (снятие пароля, обфускация) используют API-хуки и модификацию бинарных файлов
  • Функции обхода защиты VBA предназначены для восстановления доступа к собственным проектам
  • Используйте на свой страх и риск

Доступ к VBA

  • Для корректной работы необходим доверенный доступ к объектной модели VBA
  • Проверка: VBAIsTrusted() в модуле modAddinPubFunVBE

🐛 Логирование

Логи записываются в папку ...\AppData\Roaming\Microsoft\AddIns:

  • MACROTools_logs.csv — лог импорта Excel

Для управления логированием используется класс clsLogging.


📝 Лицензия

Apache License


👤 Автор

VBATools


🔄 Версия

v2.0.38


📞 Поддержка

При возникновении проблем:

  1. Проверьте лог-файлы в папке ...\AppData\Roaming\Microsoft\AddIns\MACROTools_logs.csv
  2. Убедитесь, что доступ к VBA разрешён
  3. Перезагрузите Excel и проверьте активацию аддина

🎯 Roadmap

  • Интеграция с Git
  • Автоматическое тестирование
  • Документация по API

About

MACROTools is a professional VBA to Excel add - in that provides an extensive set of tools for developing, analyzing, refactoring, and protecting VBA projects. It is then integrated into the Visual Basic (VBE) editor via Ribbon UI and context menus offering more than 50+ tools for working with VBA code.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages