Прежде всего, позвольте мне предупредить вас об этом вообще. Мы делали это один раз с корпоративным приложением, и время, затрачиваемое на портирование, было примерно таким же, как и время, затрачиваемое на написание приложения. Пошаговое руководство для этого не будет, потому что вы в основном переписываете приложение с нуля.
Во-вторых, не все, что может сделать ваш Excel VBA, обязательно доступно в COM или XLL. Доступные события разные; в случае XLL существуют совершенно новые структуры, которые можно использовать для всех типов данных. В COM нет UDF; в XLL нет макросов. Вы больше не сможете прикреплять код к рабочим листам (только сеансы Excel), а процедуры установки намного сложнее. Я бы потратил много времени на изучение того, что делает ваш VBA, прежде чем идти по одному конкретному пути.
Это зависит от того, насколько велико ваше приложение, но я бы посоветовал вам вложить деньги в разработку водонепроницаемых лицензий и выполнение некоторой базовой обфускации кода (согласно исходным комментариям), а не начинать с нуля с другой архитектурой.
Извините, что являюсь носителем гибели ...
Chris