Точный перевод
VBA → JavaScript
С учётом типов, циклов, условий, функций и обращений к Excel API. Сложные места не маскируются — они помечаются для проверки.
Миграция макросов без слепых зон
Codematik разбирает унаследованную автоматизацию, переписывает её на JavaScript и остаётся рядом: объясняет, тестирует и помогает развивать код.
Не просто конвертер
Таблицы, формы, события, бизнес-правила и нестандартные зависимости — Codematik собирает их в карту, прежде чем начать переписывание.
Как это работает
Модуль, книгу Excel или набор связанных макросов. Исходники остаются неизменными.
VBAЗависимости, обращения к данным, побочные эффекты и рискованные участки — с объяснением.
ASTЧитаемый модульный JavaScript, тесты и документация для дальнейшего развития.
JSВозможности
С учётом типов, циклов, условий, функций и обращений к Excel API. Сложные места не маскируются — они помечаются для проверки.
Карта зависимостей и оценка сложности до начала миграции.
Понятное описание логики для разработчиков и владельцев процесса.
Декомпозиция монолитных процедур на чистые переиспользуемые модули.
Сценарии и проверки, которые подтверждают совпадение результатов.
Документация, история решений и база для следующих изменений.
Пример трансформации
Codematik сохраняет намерение исходного кода, но делает зависимости явными, а поведение — проверяемым.
01Sub ApplyDiscount()
02 Dim lastRow As Long
03 lastRow = Cells(Rows.Count, "A").End(xlUp).Row
04 For i = 2 To lastRow
05 If Cells(i, 3).Value > 10000 Then
06 Cells(i, 4).Value = Cells(i, 3).Value * 0.9
07 End If
08 Next i
09End Sub
01export function applyDiscount(rows) {
02 return rows.map((row) => {
03 if (row.total <= 10_000) return row;
04
05 return {
06 ...row,
07 discountedTotal: row.total * 0.9,
08 };
09 });
10}
Что меняется
Изменения проверяются тестами, а спорные места видны заранее.
Модульный JS проще читать, расширять и встраивать в новые системы.
Знание больше не заперто в одном файле и голове одного специалиста.
Начать с малого
Разберём его структуру, обозначим риски и предложим маршрут миграции. Без обязательств и сложного внедрения.