VBA in Visual Studio

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    VBA in Visual Studio

    Hallo,

    ich bin neu hier und hoffe, dass ich hier richtig bin.
    Ich habe in VBA Excel ein kleines Programm geschrieben. Da dieses aber im Hintergrund laufen soll, ist das nun doch nicht so das richtige, da ja Excel bzw die Arbeitsmappe gestartet sein muss. Als .exe wäre das ja möglich.
    Nun habe ich mir Visual Studio 2022 installiert und habe gehofft, das es so ohne weiteres funktioniert, wenn ich die Codes dort hinein kopiere. Leider werden viele Codes von VBA nicht von VB erkannt.
    Nun meine Frage. Gibt es eine Möglichkeit, die Codes von VBA Excel in Visual Studio zu importieren, so dass diese erkannt werden, ohne das Programm neu zu schreiben?

    Vielen Dank im Vorraus

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Willkommen im Forum.

    Nein, m.E. effektiv nicht. Zwischen VBA und VB.NET liegen Welten. Nicht in der Syntax, aber in der Architektur/im Programmaufbau. Ich glaub auch nicht, dass ein Converter da brauchbare Ergebnisse liefern könnte.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ein kurzes Googeln hat diesen, leider kostenpflichtigen Konverter zu Tage gefördert: mobilize.net/products/app-migrations/vbuc

    Ansonsten gab's, glaube ich, in der ersten oder den ersten VB.NET-Versionen einen Konverter, also VB.NET 2002/2003. Oder es war nur ein Code-Analyzer, der einem bei der Migration geholfen hat. Da bin ich nicht mehr sicher.

    Beides ist aber eigentlich für VB6 und nicht VBA. Aber könnte zumindest ein wenig helfen. Zur Not könnte man aus dem VBA-Projekt erst mal manuell ein VB6-Projekt machen und dann konvertieren.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Nur müsste man da wohl erstmal ein VB6-Projekt haben. Purer VBA/VB6-Code ist ja nix halbes und nix ganzes.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Richtig, hatte ich noch dazueditiert, während du deinen Post verfasst hast. ;)

    Aber wenn's nur ein kleines Programm ist, wäre es wohl das beste, das Projekt neu zu entwickeln. Dann hat man auch direkt ein Übungsprojekt für .NET.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    inuzuma schrieb:

    Leider werden viele Codes von VBA nicht von VB erkannt
    Einige wenige Code-Elemente haben eine leicht veränderte Syntax (z.B. Objektzuweisung ohne Set).
    Die meisten Sprachelemente können häufig 1:1 verwendet werden.
    ABER:
    VBA läuft im Kontext der Anwendung (Excel).
    Alle anwendungsabhängige Objekte sind in VB.Net nicht verfügbar.
    Das ist die wohl größte Hürde.

    Kannst du mal ein Beispiel nennen, welche Codes von VB nicht erkannt werden?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --