Можно ли конвертировать VBA в C #?

У меня есть несколько модулей блока кода в VBA для запуска на нескольких базах данных Access. Я хотел бы знать, как мне поступить, если я хочу преобразовать кодирование в среду C #. И возможно ли реализовать и получить те же результаты, которые я получаю сейчас с помощью Access и VBA? Я совершенно новичок в C # на данный момент.

 Cédric Guillemette23 дек. 2008 г., 14:04
У вас есть какие-либо формы доступа в вашем MDB?
 tksy23 дек. 2008 г., 14:08
ну да код запускается из форм

Ответы на вопрос(6)

что некоторые пространства имен объектов и ссылки на библиотеки включаются автоматически при кодировании в VBA. Они должны быть явно добавлены при работе в C #. Например,

Selection.TypeText("foo")

в VBA становится

using Microsoft.Office.Interop.Word;

Application word = new Application();
word.Selection.TypeText("foo");

в C #. Библиотечные ссылки можно добавить, щелкнув правой кнопкой мыши папку «Ссылки» в обозревателе решений и выбрав «Добавить ссылку».

 Si804 янв. 2017 г., 16:58
Это встраивание Interop, я не встраиваю его, и он не работает соответственно: /

что VBA очень похож на vb.net, я бы посоветовал вам перейти на VB.net. На самом деле вы часто можете вырезать + вставить в коде, особенно если такой код из модуля кода. Если в вашем коде есть наборы DAO.Recordset, то я предлагаю создать в VB.net класс, который «имитирует» набор dao.recordset. Таким образом, большая часть кода VBA может почти на 100% входить в модуль кода vb.net. Таким образом, это говорит о том, что вам не нужно преобразование, а просто переместите код VBA на VB.net. На самом деле 99% команд в VBA существуют с тем же синтаксисом в VB.net.

Как правило, вы сможете конвертировать код вручную. Вы не найдете никаких автоматизированных конвертеров кода, которые это сделают.

Тем не менее, фреймворки, которые вы используете для доступа к данным, в мирах C # и VBA весьма различны (даже между VB.NET и VBA!). Таким образом, вы хотите прочитать ADO.NET, прежде чем начать.

Решение Вопроса

но выполнение этого вручную также поможет улучшить ваши навыки в C #. Здесь есть 10 лучших статей, в которых вы найдете общие отличия:

http://msdn.microsoft.com/en-us/library/aa164018%28office.10%29.aspx

Вы также можете найти следующие ссылки полезными:

Страница MSDN для разработки решений Office с C #:

http://msdn.microsoft.com/en-us/library/ms228286.aspx

Страница разработки приложений MSDN Visual C # (для начала разработки на C #):

http://msdn.microsoft.com/en-us/library/aezdt881.aspx

Удачи, и я надеюсь, что это поможет.

http://www.developerfusion.com/tools/convert/vb-to-csharp/

Не идеально, но это поможет вам начать с синтаксиса. Для справки, это не сравнится с тем, что вы узнаете сами.

 Duncan Bayne07 июн. 2010 г., 08:12
Это VB.NET, а не VBA. Очень разные существа.

Ваш ответ на вопрос