Я написал небольшой инструмент, помогающий поставить код VBA под контроль версий, без , требующий чего-либо из Excel, или привязку к какой-либо конкретной системе контроля версий. Он может извлекать модули из файла Office в папку или публиковать модули из папки в файл Office. В любом случае он получает доступ к файлу Office напрямую, а не через Excel. Это доступно на GitHub :
Код Microsoft Office VBA обычно хранится в двоичном формате, что затрудняет надлежащий контроль версий. VBA Sync Tool синхронизирует макросы между файлом с поддержкой VBA и папкой, обеспечивая простое управление версиями с помощью Git, SVN, Mercurial или любой другой VCS.
Для начала выберите параметр Извлечь VBA из файла Office , затем выберите расположение вашего хранилища (или места, где вы хотите его запустить) и файл Office. Инструмент сравнит два местоположения и покажет все различия:
![VBA Sync Tool after selecting folder and file locations](https://i.imgur.com/GrXx2VH.png)
Если вы хотите извлечь все (типично для настройки хранилища), просто нажмите OK . Если вы хотите быть более избирательным, вы можете снять флажки с определенных файлов (например, некоторые дизайны форм, которые, как вы знаете, не изменились), а затем продолжить. Если вы настроили инструмент сравнения (в меню Файл → Настройки), вы можете дважды щелкнуть модуль, чтобы просмотреть его изменения.
После слияния выполните ту же процедуру, но выберите Опубликовать файл VBA в Office . Когда вы нажмете Применить или OK , инструмент запишет объединенный код в файл Office.