Как использовать контроль версий с кодом VBA? - PullRequest
21 голосов
/ 08 июня 2010

Я занимаюсь разработкой приложения VBA, которое достаточно велико.Я хочу использовать SVN для разработки этого приложения.

Как я могу отделить свои модули от документа Excel и как отдельно загрузить свои модули в систему контроля версий?

Пожалуйста, помогите мне.

Ответы [ 4 ]

7 голосов
/ 23 сентября 2014

Проверьте это дополнение Excel https://github.com/hilkoc/vbaDeveloper.

Он экспортирует весь ваш код VBA автоматически, как только вы сохраните свою книгу. Вы также можете легко импортировать его снова, когда откроете рабочую книгу. Все это работает очень хорошо.

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

4 голосов
/ 11 июля 2016

Я написал небольшой инструмент, помогающий поставить код 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

Если вы хотите извлечь все (типично для настройки хранилища), просто нажмите OK . Если вы хотите быть более избирательным, вы можете снять флажки с определенных файлов (например, некоторые дизайны форм, которые, как вы знаете, не изменились), а затем продолжить. Если вы настроили инструмент сравнения (в меню Файл → Настройки), вы можете дважды щелкнуть модуль, чтобы просмотреть его изменения.

После слияния выполните ту же процедуру, но выберите Опубликовать файл VBA в Office . Когда вы нажмете Применить или OK , инструмент запишет объединенный код в файл Office.

3 голосов
/ 08 июня 2010

С помощью файла-> файл экспорта вы можете экспортировать отдельные классы.

Это один из способов разделить модули - временно или иначе.

Как только вы это сделаете, вы можете создать SVN-репозиторий. Я не буду вдаваться в инструкции по этому поводу, так как это происходит через Интернет, но вот отправная точка:

http://svnbook.red -bean.com / о / 1,0 / ch05s02.html

2 голосов
/ 10 июня 2010

Проверьте этот ответ о том, как автоматически извлекать все модули / формы / классы в текстовые файлы. Что сделает их более управляемыми в SVN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...