У меня есть приложение, разработанное в VB 6.0 и VBA, которое использует последнюю 32-разрядную версию Office. Но поскольку это приложение 32-разрядное, оно не работает в системах, где установлены 64-разрядные версии Office. Какую лучшую стратегию я должен принять, чтобы перенести это приложение на 64-битную версию. У нас есть мандат на использование VB.NET и минимальную (насколько это возможно) модификацию кода с VB/VBA на .NET 64 бит. Пожалуйста, предложите лучший вариант, который я могу использовать, чтобы я мог использовать все лучшие практики для этого переноса.
Как адаптировать 32-разрядное приложение VB6 для работы с 64-разрядным Office?
Ответы (2)
Ответ @Prof.Falken в порядке, и перенос на VB.NET может быть хорошей идеей сам по себе, но это не гарантирует, что вы легко получите 64-битную версию своего приложения. Если ваш порт .NET будет использовать 32-битные компоненты ActiveX, для которых у вас нет 64-битной замены, то это не поможет. Вот некоторые темы, перечисленные для рассмотрения:
На нашем рабочем месте системное администрирование решило не устанавливать 64-битный Office ни на одном из новых 64-битных компьютеров с Windows, поскольку здесь используется слишком много приложений (в том числе от сторонних поставщиков), которые в противном случае могут столкнуться с проблемами. И в настоящее время мы не видим для себя особых преимуществ от 64-битной версии Office.
Здесь я нашел еще одну ссылку, которая может быть вам интересна:
http://www.pcpro.co.uk/news/enterprise/356173/microsoft-warns-users-off-64-bit-office-2010
В зависимости от того, как выглядит код, один или оба из них могут быть хорошим способом:
а) Перенесите его на VB.NET или вообще на другой язык.
б) Сохраните его в VB6, но замените КАЖДОЕ место, где он общается с Office, вызовом-оболочкой. Этот вызов оболочки взаимодействует с приложением VB.NET, которое, в свою очередь, взаимодействует с Office.
Результатом метода b является то, что он позволяет сохранить всю бизнес-логику в старой программе VB6 нетронутой. Подходит это или нет, зависит от того, как выглядит программа, с каким опытом работают программисты и так далее. Старая программа VB6 и новая VB.NET могли общаться друг с другом, например, через COM или XML-RPC.