1

Я работаю в дочерней компании банка, где наша «внутренне разработанная ИТ-система» написана на VBA - несколько лет назад банк просто наложил на нас ограничения в отношении того, какой язык мы можем или не можем использовать.

В последнее время объем нашей деятельности вырос, и некоторые ежедневные автоматизированные задачи уже занимают ок. 6 часов, хотя некоторые из трудоемких операций выполняются в C++ через DLL. В конце концов, мы дойдем до того, что ежедневные задачи займут больше 24 часов, и тогда это станет бессмысленным.

Следовательно, вопрос в том, что мы можем сделать, чтобы ускорить процесс. Я думал о смене языка. То, что я хотел бы, это возможность

  1. профиль нашего кода (очень ограничен в VBA)
  2. быстрее, чем VBA (т.е. компилируется)
  3. возможность взаимодействия между языком и Excel
  4. возможность вызова функций, хранящихся в DLL, с языка
  5. люди в банке знают только VBA, следовательно, чем ближе язык к VBA, тем лучше (т.е. переписывание всего на Qt/C++ не является решением)

Я думал о VSTO, но некоторые сообщения на SO кажутся довольно обескураживающими. Какие у нас есть варианты? В настоящее время у нас есть ок. 50К строк кода, так что это не пара файлов Excel.

Любая помощь очень ценится, Даниэль

1 ответ1

1

Этот вопрос, вероятно, относится к stackoverflow, а не к суперпользователю.

Тем не менее, в ожидании переезда ...

Наиболее логичным шагом будет использование Visual Basic в среде Visual Studio. Это дает вам полный доступ к стеку разработки Office, обеспечивает простую (упрощенную) разработку надстроек Excel и даст вам что-то вроде пути перехода от текущего кода VBA.

Раньше VB был очень похож на VBA, хотя в наши дни он превратился в нечто совершенно иное, так как является членом первого класса языков .NET. Тем не менее, он по-прежнему сохраняет некоторые из своих корней и, следовательно, некоторое знакомство.

Это также откроет возможность привлечения новых разработчиков, чьи навыки могут лежать на более распространенных языках, таких как C #, для будущих разработок.

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

Возможно, я должен был также упомянуть некоторые возможные альтернативные подходы. К файлам Excel можно получить доступ с других языков, хотя на самом деле, только необработанные данные, а не какая-либо встроенная логика. И PHP, и Node.Например, в JS есть библиотеки, доступные для обработки электронных таблиц, и я использовал их в прошлом для обработки электронных таблиц на сервере, прежде чем передавать их людям для использования. Я подозреваю, однако, что это может быть не так полезно в этой ситуации.

Возможно, реальный ответ - прикусить пулю и начать переделывать электронные таблицы в более подходящую среду. Вы можете начать с миграции данных в базе данных SQL, связанной с таблицами обработки. Затем начните переносить бизнес-логику на серверные процессы либо непосредственно на сервере SQL, либо в приложениях бизнес-логики, работающих на серверной части.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .