2016-12-20 7 views
4

Ищу для системы управления версиями, которые я могу использовать для Кодекса VBA, возможно, в виде надстройки но похож на СВН или Git или даже коммерческое программное обеспечение. Я знаю, что есть обсуждение here и there, однако они старше 6 лет, и это не совсем то, что я хочу иметь. И я знаю, что можно использовать Tortoise SVN только для кода, но не для всего проекта (все модули кода + таблицы), и я знаю, что это можно сделать вручную.Версия для Excel-VBA код

+1

Что собственно вопрос Вы хотите получить ответы? –

+0

Возможная система управления версиями для Excel-VBA – maniA

+1

Ну, вы уже назвали несколько. Вы не можете рассчитывать получить рекомендации для одного над другим здесь. –

ответ

6

Отказ от ответственности: Я являюсь автором проекта Rubberduck VBA.

Узел Rubberduck VBA для VBE добавляет ряд функций, включая Source Control для всех хостов VBA. Он активно развивается, работает с открытым исходным кодом и свободен и работает во всех версиях Excel (и Access, Word и PowerPoint и т. Д.) Из Excel 2000 и далее в 32 и 64-разрядных версиях Office

Rubberduck использует LibGit2Sharp, поэтому вы можете напрямую интегрироваться с GitHub и другими облачными службами, или вы можете просто экспортировать модули и формы в папку.

Вы можете найти проект на GitHub здесь: https://github.com/rubberduck-vba/Rubberduck

+1

Примечание. Rubberduck Source Control позволяет полностью интегрировать IDE, но в настоящее время (начиная с версии 2.0.9) обрабатывает только компоненты проекта VBA - не имеет значения для хоста, таких как таблицы Access/querydefs и/или таблицы Excel; он не смотрит на объектную модель узла. Мы планируем в конечном итоге интегрировать стратегии импорта/экспорта с конкретным хостом и даже интегрировать другие системы VCS (глядя на вас SVN), а интегрированная панель SC Rubberduck действительно очень перспективна, однако, поскольку в настоящее время она стоит, я бы рекомендовал использовать ее для личных проектов и кодовые библиотеки/надстройки, а не код производственного производства. –

+1

Кроме того, вы можете запускать скрипт Python как часть вашего захвата git pre-commit, чтобы автоматически извлекать ваши модули VBA и добавлять его к вашему фиксации, как описано здесь. Https://www.xltrail.com/blog/auto-export-vba крюк возьмут на –

2

Я не думаю, что есть какие-то убедительные системы управления версиями, ориентированные на Excel VBA, вам просто нужно выбрать одно из имен, которое у вас уже есть, и адаптировать его для Excel VBA.

Итак, я недавно использовал (и по-прежнему выбирал) GIT, но мне пришлось/пришлось экспортировать модули в каталог. Другие системы Excel на уровне Excel, над которыми я работал, имеют аналогичные модули экспорта и версируют их отдельно.

Что касается листов, они обычно были размещены в виде двоичного файла; только однажды я работал над системой, которая хранила логику листа, которая предоставляла сравнение версий исходного кода, это был собственный формат Xml.

Интересно, что последние форматы файлов Excel формата xlsm и xslx на самом деле являются zip-каталогами листовой логики, распыленной. Я изучил этот формат файла, и он не очень хорошо подходит для версии с помощью контроля источника. Я думаю, что Microsoft пропустила трюк.