Ведите учёт истории изменений в VBA проектах Excel, отслеживайте и сравнивайте изменения в макросах

Язык видео: английский. Субтитры: русский, английский. (Внимание: видео может не отражать последние обновления. Используйте инструкцию ниже.)

Помимо учёта изменений в книгах Excel, надстройка XLTools позволяет отслеживать историю изменений проектов VBA. Этот уникальный инструмент будет полезен продвинутым пользователям Excel и разработчикам VBA. Надстройка дает возможность сравнить изменения в коде, сохранить VBA модули в Git репозиторий и восстановить предыдущие версии макросов.

Инструмент XLTools «Контроль версий для VBA проектов» надёжно сохранит данные макросов Excel:

  • Ведите учёт изменений в VBA проектов и сохраняйте версии в один клик
  • Проверяйте журнал изменений: кто и когда редактировал код
  • Восстанавливайте и откатывайтесь до любой предыдущей версии
  • Сравнивайте версии модулей VBA с выделением изменённых строк
  • Храните историю изменений в Git репозитории на вашем компьютере

Перед началом работы добавьте «Контроль версий» в Excel

«Контроль версий для проектов VBA» – это один из 20+ инструментов в составе надстройки XLTools для Excel. Работает в Excel 2019, 2016, 2013, 2010, десктоп Office 365.

Начните работу с инструментами XLTools
– пробный период дает 14 дней полного доступа ко всем инструментам.

Как включить «Контроль версий» для проектов VBA и начать отслеживать изменения

Надстройка XLTools «Контроль версий для проектов VBA» — это инструмент для контроля изменений и управлениями версиями макросов Excel. С его помощью можно отслеживать изменения в проектах VBA и видеть кто, когда и какие изменения вносил в код.

  1. Активируйте параметры макросов для разработчиков:

    Вкладка «Разработчик» Безопасность макросов Отметьте флажком «Предоставлять доступ к объектной модели проектов VBA».

    Или: Файл Параметры Центр управления безопасностью Параметры центра управления безопасностью Параметры макросов Отметьте флажком «Предоставлять доступ к объектной модели проектов VBA»
    XLTools Контроль версий: включить параметры макросов для разработчиков
  2. Включите «Контроль версий» для рабочей книги Excel:

    Откройте книгу Нажмите кнопку Включить на панели инструментов XLTools В окне настроек нажмите Включить Готово, теперь для этой рабочей книги ведется учёт истории изменений.

    Или: откройте Настройки XLTools Вкладка «Контроль версий» Включить.
    Включить XLTools Контроль версий для проектов VBA

Как сохранять (commit) версии модуля VBA в Журнал изменений

Когда вы включите Контроль Версий для книги с макросом, рекомендуем сразу сохранить исходную версию в Журнал изменений. Это позволит сравнивать с ней последующие версии, а при необходимости восстановить исходную книгу.

  1. Нажмите кнопку Сохранить изменения Откроется диалоговое окно.
  2. Добавьте содержательный комментарий, напр. «Исходная версия» OK Готово, исходная версия сохранена в Журнал изменений.
Контроль версий: как сохранить версию в Журнал изменений

По мере редактирования книги сохраняйте версии в Журнал изменений. Рекомендуем сохранять версию после любых существенных изменений или так часто, как сочтёте нужным.

  1. Внесите изменения Как будете готовы сохранить версию, нажмите Сохранить изменения.
  2. Добавьте комментарий OK.
Совет: пишите содержательные комментарии. Это поможет отличить версии друг от друга и найти нужную в Журнале изменений.

По умолчанию новая версия сохраняется в Журнал изменений по нажатию кнопки Сохранить изменения на панели инструментов. Если вы хотите, чтобы версия сохранялась каждый раз при обычном сохранении файла, задайте это в настройках:

  1. Откройте Настройки XLTools Вкладка «Контроль версий».
  2. Отметьте чекбокс «Сохранять версию в Журнал изменений каждый раз, как я сохраняю книгу с изменениями».
Настройки Контроля версий: сохранять версию при сохранении файла

Как посмотреть и сравнить недавние изменения (diff) в коде VBA до сохранения версии

  1. Внесите изменения в модуль VBA Нажмите Сохранить изменения Откроется диалоговое окно.
  2. Для предпросмотра и сравнения изменений дважды кликните мышкой по отредактированному модулю в списке.
  3. Откроется сравнение «Старой» и «Новой» версии кода рядом друг с другом. Изменённые строки будут выделены цветом.
  4. Посмотрите результат Закройте окно сравнения Нажмите ОК, чтобы сохранить эту новую версию, или Отмена, чтобы вернуться к редактированию.
Контроль версий: как посмотреть изменения в VBA до сохранения версии

Как версии VBA макросов Excel сохраняются в Git репозиторий

Все версии книги, сохранённые в Журнал изменений, хранятся в Git репозитории на вашем компьютере. Git — это широко используемая система контроля изменений, она безошибочно регистрирует все изменения и не занимает много места на диске.

Сразу после включения «Контроля версий», в той же папке, где находится ваша книга Excel, автоматически появится папка «НазваниеКниги_Revisions». Это Git репозиторий, в котором будет храниться вся история изменений данной книги и макросов. Каждый раз, как вы сохраняете версию (commit), она сохраняется в репозиторий.

Внимание: это важно – не удаляйте, не переименовывайте, не перемещайте эту папку репозитория. В противном случае история изменений будет утеряна.
Контроль версий: локальный Git репозиторий создается автоматически

Журнал изменений содержит список всех ранее сохранённых версий.

Нажмите кнопку Журнал изменений на вкладке XLTools Откроется Журнал изменений.

  • Просматривайте список версий: он отображает комментарии, имена авторов и время, когда версия была сохранена. Можно отслеживать, кто и когда вносил изменения.
  • Фильтруйте сохранённые версии и ищите нужную. Введите запрос в поле поиска, и поиск пройдет по названиям версий, комментариям, авторам и датам.
  • Посмотрите меню инструментов: свернуть или развернуть список, открыть, сохранить, откатиться и сравнить версии.
Контроль версий: как работать с Журналом изменений

Как сравнить две версии макроса VBA

Вы можете легко сравнить две версии макроса друг с другом:

  1. Нажмите кнопку Журнал изменений Откроется журнал.
  2. Удерживая клавишу Ctrl, выделите два модуля VBA, которые вы хотите сравнить В меню журнала или в контекстном меню по правому клику мыши выберите Сравнить две выбранные версии.
    Контроль версий: как сравнить версии VBA модуля
  3. Откроется сравнение «Новой» и «Старой» версии кода рядом друг с другом. Изменённые строки будут выделены цветом.
Контроль версий: сравнить две версии макроса Excel и выделить изменения

Таким же образом вы можете сравнить любую версию модуля VBA с предыдущей или текущей версией:

  1. Нажмите кнопку Журнал изменений Выделите любую версию модуля.
  2. В меню журнала или в контекстном меню по правому клику мыши выберите Сравнить с Предыдущей версией или Сравнить с Текущей версией.
  3. Откроется сравнение, изменённые строки будут выделены.
Контроль версий: как сравнить версию модуля VBA с текущей или предыдущей версией

Как сравнить две версии макроса VBA с помощью надстройки Inquire

Инструмент «Контроль версий» интегрирован с надстройкой Inquire. Она помогает сравнивать версии документа Excel более детально.

Inquire – это бесплатная надстройка от Microsoft, доступная в Office Professional Plus. Посмотрите, как включить Inquire в Excel.

  1. Нажмите кнопку Журнал изменений Откроется журнал.
  2. Удерживая клавишу Ctrl, выделите две версии VBA модуля, которые вы хотите сравнить В меню журнала или в контекстном меню по правому клику мыши выберите Сравнить две выбранные версии в Inquire.
    Контроль версий: как сравнить версии модуля VBA с надстройкой Inquire
  3. Результат сравнения откроется в Inquire: посмотрите, где были изменения в коде.
Контроль версий: как сравнить две версии VBA модуля с надстройкой Inquire

Таким же образом вы можете сравнить любую версию модуля VBA с предыдущей или текущей версией:

  1. Нажмите кнопку Журнал изменений Выделите любую версию книги.
  2. В меню журнала или в контекстном меню по правому клику мыши выберите Сравнить с Предыдущей версией в Inquire или Сравнить с Текущей версией в Inquire.
  3. Результат сравнения откроется в Inquire, и вы сможете увидеть изменения.
Контроль версий: как сравнить версию модуля VBA с текущей или предыдущей версией в Inquire

Как восстановить и вернуться к предыдущей версии макроса Excel

Чтобы сохранить или откатиться до любой предыдущей версии макроса Excel:

  1. Нажмите кнопку Журнал изменений Выберите нужную версию модуля VBA.
  2. В меню журнала или в контекстном меню по правому клику мыши выберите нужную операцию:
    • Сохранить эту версию макроса как
    • Откатиться до этой версии макроса
Контроль версий: как открыть и откатиться до предыдущей версии макроса Excel

Как использовать «Контроль версий» для общей книги Excel

Надстройка XLTools «Контроль версий» помогает эффективно организовать совместную работу над общим документом.

  1. Убедитесь, что надстройка XLTools установлена на компьютере каждого члена команды.
  2. Поместите рабочую книгу в общую папку на локальном диске Разрешите доступ к книге всем членам команды Дайте им права на чтение и редактирование книги. Никто вне команды не сможет редактировать документ, который находится под Контролем версий.
  3. Каждый участник команды может сохранять и сравнивать версии и просматривать Журнал изменений.

Как использовать «Контроль версий» для отслеживания изменений в книгах Excel

Независимо от того, содержит ваша рабочая книга макросы или нет, включив «Контроль версий», вы можете сохранять и отслеживать изменения на рабочих листах.

Ограничения при работе с «Контролем версий»

Если файл сохранён в сетевой папке или на облачном диске, «Контроль версий» может выдать ошибки пути к файлу («слишком длинный путь к файлу»). Чтобы хранить историю версий, Git репозиторий создаёт вложенные папки, и иногда путь к этим папкам может превышать лимит Windows.

Наши разработчики уже ищут решение. Пока рекомендуем попробовать сократить путь к сетевой папке, а также название файла. Или сохраняйте документы под Контролем версий на локальном диске на вашем компьютере.

Any questions or suggestions?
How can we help?