Различия и слияния VBA в Visual Studio 2017 - PullRequest
0 голосов
/ 01 февраля 2019

У нас есть проект с компонентами, написанными в Excel / VBA.Мы используем Git в Azure Devops для контроля версий.

Другие компоненты написаны на C ++, и мы используем Visual Studio 2017 в качестве IDE.Мы используем проводник VS Team для операций git.Код VBA экспортируется и импортируется из Excel с использованием инструмента vbaDeveloper .Инструмент сравнения и слияния - это внутренний vsDiffMerge.exe.

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

Некоторые искажения указывают на то, что что-то пыталось проанализировать текст в соответствии с синтаксисом, например:

  • Параметр «Явный параметр» был изменен на «Явный параметр включен» вмного мест ( VBA не имеет такого синтаксиса, но VB6 имеет)
  • Добавлена ​​скобка после вызовов подпрограмм ( VBA не делает 't разрешить это для подпрограмм, только для функций)

Другие виды искажения были просто случайными:

  • Отсутствуют объявления параметров и переменных, а также функций
  • Отсутствующие части кода
  • Случайные символы в коде (например, китайские буквы)

Возможно ли, что vsDiffMerge.exe пытался быть слишком умным здесь и интерпретировать файлы исходного кода VBA(.cls, .bas, .frm) как VB6 / VB.NET и сделали некоторые собственные модификации?

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