powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007, VBA, git
9 сообщений из 9, страница 1 из 1
Excel 2007, VBA, git
    #37182657
LogMiner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как отслеживать изменения (контроль версий) VBA кода в книге Excel?
В идеале - нужно использовать git.

Можно такой вариант - редактировать, экспортировать код в текстовые файлы и текстовые файлы в git.
Но обратно импортировать не получается - модулям назначаются новые имена.
В книгу добавлять вспомогательные функции для экспорта/импорта нельзя.
...
Рейтинг: 0 / 0
Excel 2007, VBA, git
    #37182671
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: LogMiner
> Но обратно импортировать не получается - модулям назначаются новые имена.


А имя модуля разве стало ReadOnly?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel 2007, VBA, git
    #37182706
LogMiner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,

>А имя модуля разве стало ReadOnly?

Это намек на удаление "старого" модуля и переименование импортированного?
Или что-то нужно в настройках MS VBA (тот что по Alt+F11 вызывается) менять?
...
Рейтинг: 0 / 0
Excel 2007, VBA, git
    #37182785
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: LogMiner
> Это намек на удаление "старого" модуля и переименование импортированного?

А как вы из git'a загружаете модули в Ексел и обратно? Я так понимаю у вас какая-то самописка по выгрузке\загрузке кода
в модули Ексела, вот я и говорю, что подправьте свою самописку, что-бы она или заменяла код нужного модуля полностью или
удаляла один модуль и импортировала на его место другой с правильным именем.

> Или что-то нужно в настройках MS VBA (тот что по Alt+F11 вызывается) менять?

Ну разве что в настройках безопасности поставить птицу - Доверять доступ к Visual Basic Project

P.S. Или я не правильно понял ситуацию?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel 2007, VBA, git
    #37182843
LogMiner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак, сначала.
Есть Excel 2007 книга с VBA кодом.
Нужно переработать (переписать) этот код. Код VBA не имеет отношения к контролю версий. Это отчеты.
Больше ничего нет. Никакой самописки. И писать её не хочется.

Нужно как-то контроллировать изменения.
Системы контроля версий работают с текстовыми файлами.
Или лучше так - они не могут показать чем отличается одна версия Excel файла от другой.

В Microsoft Visual Basic (Alt+F11) есть функции (правой кнопкой по имени модуля) "Export file..." и "Import file..."
которые экпортируют модули в текстовый файл и импортируют из текстового файла.
Но при импорте модуль получает другое имя.

Короче - как отслеживать изменения VBA кода в Excel файле с помощью git?
...
Рейтинг: 0 / 0
Excel 2007, VBA, git
    #37182865
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: LogMiner
> Итак, сначала.


Понятно :)
Тогда руками экспортируешь модули в файлы на диске и руками добавляешь их в git и дальше уже проводишь сравнение,
слияния, чек-ины, после всех манипуляций выгружаешь нужный модкль из git'a на диск идешь в ексель и руками удаляешь
старый модуль, а на его место импортируешь новый.

P.S. Я думал у тебя написан код автоматизации импорта\экспорта модулей из ексела :)
P.P.S. Для сравнения макросов, я одно время пользовался VBA Code
Compare
Но разработчик что-то остановился на 2003 версии офиса. Хочешь, спишись и узнай перспективы, разработчик
русский :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel 2007, VBA, git
    #37182947
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: LogMiner

Насчет самописки, я имел в виду что-то наподобии
такого кода в специальной
книге, предназначеной для обработки кода ексельных книг

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Excel 2007, VBA, git
    #37208913
LogMiner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не смог я найти что-нибудь подходящее. Поэтому написал самописку которая экспортирует
VBA код в текстовые файлы и импортирует из них.
Посмотрите у кого время есть может чего-нибудь нужно по другому сделать.

Не нашел как обойти добавление пустых строк при импорте из файла.
При импорте (VBIDE.VBProject.VBComponents.Import(FileName)) добавляется пустая строка в начале кода.
При добавлении кода из файла (VBIDE.VBComponent.CodeModule.AddFromFile (FileName)) добавляется пустая строка в конце кода.
Но не всегда. Если в модуле нет функций и процедур, то ничего не добавляется.
Короче, пустые строки в конце кода - проблема.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Excel 2007, VBA, git
    #39213696
eriklind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LogMiner,

ответ запоздал, но эта надстройка появилась недавно https://xltools.net/ru/version-control-for-vba-macros/ ]. Как раз отслеживает изменения в коде VBA, плюс сравнивает код построчно. Сохраняет в git локально, не в облаке. Журнал версий удобный.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007, VBA, git
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]