|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
Подскажите как отслеживать изменения (контроль версий) VBA кода в книге Excel? В идеале - нужно использовать git. Можно такой вариант - редактировать, экспортировать код в текстовые файлы и текстовые файлы в git. Но обратно импортировать не получается - модулям назначаются новые имена. В книгу добавлять вспомогательные функции для экспорта/импорта нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 14:45 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
> Автор: LogMiner > Но обратно импортировать не получается - модулям назначаются новые имена. А имя модуля разве стало ReadOnly? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 14:54 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
Игорь Горбонос, >А имя модуля разве стало ReadOnly? Это намек на удаление "старого" модуля и переименование импортированного? Или что-то нужно в настройках MS VBA (тот что по Alt+F11 вызывается) менять? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 15:11 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
> Автор: LogMiner > Это намек на удаление "старого" модуля и переименование импортированного? А как вы из git'a загружаете модули в Ексел и обратно? Я так понимаю у вас какая-то самописка по выгрузке\загрузке кода в модули Ексела, вот я и говорю, что подправьте свою самописку, что-бы она или заменяла код нужного модуля полностью или удаляла один модуль и импортировала на его место другой с правильным именем. > Или что-то нужно в настройках MS VBA (тот что по Alt+F11 вызывается) менять? Ну разве что в настройках безопасности поставить птицу - Доверять доступ к Visual Basic Project P.S. Или я не правильно понял ситуацию? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 15:42 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
Итак, сначала. Есть Excel 2007 книга с VBA кодом. Нужно переработать (переписать) этот код. Код VBA не имеет отношения к контролю версий. Это отчеты. Больше ничего нет. Никакой самописки. И писать её не хочется. Нужно как-то контроллировать изменения. Системы контроля версий работают с текстовыми файлами. Или лучше так - они не могут показать чем отличается одна версия Excel файла от другой. В Microsoft Visual Basic (Alt+F11) есть функции (правой кнопкой по имени модуля) "Export file..." и "Import file..." которые экпортируют модули в текстовый файл и импортируют из текстового файла. Но при импорте модуль получает другое имя. Короче - как отслеживать изменения VBA кода в Excel файле с помощью git? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 16:11 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
> Автор: LogMiner > Итак, сначала. Понятно :) Тогда руками экспортируешь модули в файлы на диске и руками добавляешь их в git и дальше уже проводишь сравнение, слияния, чек-ины, после всех манипуляций выгружаешь нужный модкль из git'a на диск идешь в ексель и руками удаляешь старый модуль, а на его место импортируешь новый. P.S. Я думал у тебя написан код автоматизации импорта\экспорта модулей из ексела :) P.P.S. Для сравнения макросов, я одно время пользовался VBA Code Compare Но разработчик что-то остановился на 2003 версии офиса. Хочешь, спишись и узнай перспективы, разработчик русский :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 16:24 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
> Автор: LogMiner Насчет самописки, я имел в виду что-то наподобии такого кода в специальной книге, предназначеной для обработки кода ексельных книг Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 17:09 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
Не смог я найти что-нибудь подходящее. Поэтому написал самописку которая экспортирует VBA код в текстовые файлы и импортирует из них. Посмотрите у кого время есть может чего-нибудь нужно по другому сделать. Не нашел как обойти добавление пустых строк при импорте из файла. При импорте (VBIDE.VBProject.VBComponents.Import(FileName)) добавляется пустая строка в начале кода. При добавлении кода из файла (VBIDE.VBComponent.CodeModule.AddFromFile (FileName)) добавляется пустая строка в конце кода. Но не всегда. Если в модуле нет функций и процедур, то ничего не добавляется. Короче, пустые строки в конце кода - проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2011, 17:25 |
|
Excel 2007, VBA, git
|
|||
---|---|---|---|
#18+
LogMiner, ответ запоздал, но эта надстройка появилась недавно https://xltools.net/ru/version-control-for-vba-macros/ ]. Как раз отслеживает изменения в коде VBA, плюс сравнивает код построчно. Сохраняет в git локально, не в облаке. Журнал версий удобный. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 14:54 |
|
|
start [/forum/topic.php?fid=61&msg=37182785&tid=2173111]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 285ms |
total: | 414ms |
0 / 0 |