Entwickler-Ecke

C# - Die Sprache - Excel Projekt in eine C Sharp Anwendung umwandeln


Felix2000 - Mo 15.08.11 09:38
Titel: Excel Projekt in eine C Sharp Anwendung umwandeln
Hi Folks !

Ich möchte gerne mal etwas von euch wissen. Ist es eigentlich ohne weiteres und ohne größeren Aufwand möglich, ein Projekt, das in Excel 2010 erstellt (und bisher auch nur dort lauffähig ist) und mit der Makrosprache VBA selbstständig und zu 100% Individual programmiert wurde, in eine C Sharp Anwendung umzuwandeln?

Also so, dass man die gesamten Prozeduren und Funktionen, die in Excel VBA geschrieben wurden, jetzt nur noch in C Sharp verfügbar sind (auch sämtliche Klassen bibliotheken, die man vielleicht nur in MS Excel zur Verfügung hatte)?


Greetz
Felix


norman2306 - Mo 15.08.11 09:49

Komplett übersetzen, da gibt es meines Wissens derzeitig nichts für. Das muss man manuell machen. Das geht auf jeden Fall. Ein Tool was dabei recht hilfreich ist, findest du hier:

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

Damit kann man zumindest einzelne Snippets übersetzen.


Th69 - Mo 15.08.11 09:58

Hallo Felix,

zuersteinmal als einfache Antwort: Nein, automatisch gibt es da nichts.

Der Hauptartikel dafür ist aber in der MSDN zu finden: Converting Code from VBA to Visual Basic .NET [http://msdn.microsoft.com/en-us/library/aa192490.aspx]

Desweiteren habe ich noch foglende Links gefunden:
http://stackoverflow.com/questions/388819/is-it-possible-to-convert-vba-to-c
http://adventures-in-csharp.blogspot.com/2007/10/converting-vba-code-to-net.html
http://msdn.microsoft.com/en-us/library/bb960898.aspx#VSTO_TenTipsMigrating_Tip5ConvertExistingVBACode

Und dann noch zu der Antwort von norman2306:
VBA ist nicht gleich VB.NET !!!

Aber das Tool kann man benutzen, um nach der Konvertierung von VBA nach VB.NET es anschließend noch nach C# zu übersetzen (aber es gibt da auch noch andere Tools - such mal nach "VB.NET C# Converter" ;-))


norman2306 - Mo 15.08.11 11:59

Das weiß ich auch. Ich dacht, die Seite übersetzt auch VBA. Hatte sowas im Gedächtnis. Ich musst mal was von VBA übersetzen und habe damals die Seite genutzt. Kann auch sein, dass ich vorher den Code zu VB geändert habe, was ja nicht allzu kompliziert ist (solange man nicht auf die Excel-Funktionen zugreift ist der Code bis auf ein paar Klenigkeiten ja identisch).

VB.Net kann man im Übrigen auch mit Hilfe von Reflector Tools (z.B. RedGate) übersetzen.