Преобразование консольного приложения C # в VB.NET и VBA

Я должен преобразовать проект C # в VB.NET и VBA. Это консольное приложение, использующее Microsoft Office API ( Microsoft.Office.Interop.*).

Мои два вопроса:

  • C # -> VB.NET: .NET Reflector - хороший инструмент для этого, за исключением того, что он не сохраняет комментарии исходного кода. Есть ли способ сделать это?
  • .NET -> VBA: есть ли автоматизированный инструмент для этого преобразования? Это должен быть инструмент на стороне клиента (потому что код проприетарный).
13.10.2009 00:35:34
Почему C # должен быть преобразован в VB.NET? Кажется бессмысленным для меня.
MarkJ 13.10.2009 08:38:01
4 ОТВЕТА
РЕШЕНИЕ

Лучшее преобразование, кажется, сделано SharpDevelop. Откройте ваш проект и в меню инструментов выберите конвертировать код в. Так как он содержит весь ваш исходный код на c #, он делает очень хорошую работу.

1
13.10.2009 02:01:46
+1 Мне повезло с использованием встроенного инструмента конвертации SharpDevelops.
Element 13.10.2009 04:27:26

Есть много способов конвертировать C # в VB.Net; Например, попробуйте Developer Fusion .

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

1
23.05.2017 10:32:55

Ответ на вопрос № 1:

Вы не можете использовать Reflector для сохранения комментариев исходного кода, потому что Reflector разбирает скомпилированный код, у которого были удалены все комментарии.

Подумайте об использовании коммерческого инструмента, такого как InstantVB, который преобразует исходный код C # в исходный код VB (включая комментарии): http://tangiblesoftwaresolutions.com/Product_Details/Instant_VB.html

1
13.10.2009 00:43:01

Вы можете преобразовать исходный код C # в VB.Net вручную с помощью этого:

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

которая будет сохранять комментарии. Что касается автоматического преобразования C # в VBA или VB6, я хотел бы сказать, что это почти наверняка будет совершенно невозможно. Есть много аспектов C # /. Net, которые недоступны в VBA или VB6 (например, наследование).

0
13.10.2009 00:45:13